我需要一種方式來初始化我的Web控件的屬性,當它被放在設計器區域時。作爲「初始化」我的意思是:如果我的控件有一個屬性Prop1。我需要爲Prop1分配一個值,並且我需要將此值保留在ASPx上。如何在設計時初始化我的Web控件屬性?
我試過如下:
- 我ControlDesigner實現InitializeNewComponent:此方法不會被調用。這似乎是一個錯誤。
- 實現在ControlDesigner上初始化:調用此方法,但不知何故Visual Studio不允許我在此階段更改控件的屬性。
- 爲IComponentChangeService.ComponentAdded創建一個處理程序(每當創建任何控件時都應該調用它)。這個處理程序不會被調用。
我的問題:如何初始化我的控件屬性? PS:我知道如何設置控件的屬性。我用下面的代碼,在智能標籤工作正常:
PropertyDescriptor descriptor = TypeDescriptor.GetProperties(this.Component)["Prop1"];
descriptor.SetValue("Value");
編輯
我忘了提,因爲我需要處理,以確定物業
的價值,我不能使用ToolBoxData
哦拿去..你的回答完美地解決了我所描述的問題,但不是我的問題。我忘了提及這個解決方案是無效的,因爲我需要進行處理以確定財產的價值。這不是靜態的。無論如何感謝和upvoted。 – 2009-10-31 11:17:49