我正在创建一个控件,并添加一个属性(控件的外观取决于它)。如何设置此属性:
我无法在InitializeComponent()
调用后立即在表单构造函数中设置属性。在这种情况下,用户将看到两个表单初始化框架:第一个 - 在InitializeComponent()
之后,第二个 - 在属性设置之后,调用控件的重绘。坏。
另外,我无法使用BrowsableAttribute标记我的属性,导致属性的类型,是我自己的类,无法在«属性窗口»中进行配置。 Аlsobad。
那么,我怎样才能将form1.SuspendLayout()
和form1.ResumeLayout(false)
之间的属性理论化?
理想情况下,我希望有可能直接在«属性窗口»的相应字段中编写代码。例如,如果属性的类型是MyClass,我会写new MyClass(param1, param2)
。
答案 0 :(得分:1)
不要强制控件重绘属性更改。初始化控件时没有必要,当用户更改属性时,它将在下一个绘制事件中重绘。如果需要,用户可以在设置属性后调用控件上的.Refresh()以强制手动重绘。