初始化控件的属性没有重新绘制

时间:2012-02-23 09:36:43

标签: c# .net winforms visual-studio

我正在创建一个控件,并添加一个属性(控件的外观取决于它)。如何设置此属性:

  1. 我无法在InitializeComponent()调用后立即在表单构造函数中设置属性。在这种情况下,用户将看到两个表单初始化框架:第一个 - 在InitializeComponent()之后,第二个 - 在属性设置之后,调用控件的重绘。坏。

  2. 另外,我无法使用BrowsableAttribute标记我的属性,导致属性的类型,是我自己的类,无法在«属性窗口»中进行配置。 Аlsobad。

  3. 那么,我怎样才能将form1.SuspendLayout()form1.ResumeLayout(false)之间的属性理论化?


    理想情况下,我希望有可能直接在«属性窗口»的相应字段中编写代码。例如,如果属性的类型是MyClass,我会写new MyClass(param1, param2)

1 个答案:

答案 0 :(得分:1)

不要强制控件重绘属性更改。初始化控件时没有必要,当用户更改属性时,它将在下一个绘制事件中重绘。如果需要,用户可以在设置属性后调用控件上的.Refresh()以强制手动重绘。