2016-08-26 74 views
0

我創建了一個繼承自TreeView的類,並且我想在創建樹時創建一些節點。因此我重寫了OnCreateControl方法並將init代碼寫入此方法。winform設計器自動生成執行控制方法?

enter image description here

當我拖到這個控制到窗體設計器,自動生成代碼包含的節點。 enter image description here

爲什麼OnCreateControl方法已經執行時,我將控件拖到窗體設計器?

我該如何阻止這種行爲?

+1

你可以用'Control.DesignMode'在設計師或沒有時就知道了。 –

+0

@ASh請記住,您需要> 3個重複點才能添加圖像。 –

+0

@沙漏向我們展示您的代碼 –

回答

1

使用DesignMode屬性來確定,如果你的控件在運行或VS設計師創建:

protected override OnCreateControl() 
{ 
    base.OnCreateControl(); 

    if (!this.DesignMode) 
    { 
     // your code here 
    } 
} 
+2

[請注意警告](http://stackoverflow.com/questions/4346361/winform-custom-control-designmode-doesnt-return-true-whereas-in-design-mode)。 –

+0

謝謝,這很有幫助。 – Hourglass