从C#Windows窗体中的Control.Controls绘制控件

时间:2014-02-17 14:38:42

标签: c# winforms user-controls controls

美好的一天。如何在不使用Control.Controls属性的情况下将用户控件添加到另一个用户控件?例如,在MyControl:Control对象上绘制一个Button,按钮的事件是否可用?我想创建包含其他控件的MyControl,但Control.Controls集合必须为空,就像在所有标准WinForms控件中一样。

1 个答案:

答案 0 :(得分:1)

当您将控件添加到MyControl时,它将类似于

this.Controls.Add(control);

否则不显示控制权。所以你不能避免这种情况。

Controls中设置控件有什么问题? 标准控件不是由其他控件组成的(但有例外情况:编辑模式下的DataGridViewPropertyGrid,可能更多)。

但是你可以使用肮脏的技巧,例如:

  • 将控件添加到父级,将必要的事件连接到MyControl;
  • 通过输出Label事件中的文字来模仿控制(例如,OnPaint。)

Controls的问题(如果确实存在任何问题)进行斗争会不会更容易?