美好的一天。如何在不使用Control.Controls属性的情况下将用户控件添加到另一个用户控件?例如,在MyControl:Control对象上绘制一个Button,按钮的事件是否可用?我想创建包含其他控件的MyControl,但Control.Controls集合必须为空,就像在所有标准WinForms控件中一样。
答案 0 :(得分:1)
当您将控件添加到MyControl
时,它将类似于
this.Controls.Add(control);
否则不显示控制权。所以你不能避免这种情况。
在Controls
中设置控件有什么问题? 标准控件不是由其他控件组成的(但有例外情况:编辑模式下的DataGridView
和PropertyGrid
,可能更多)。
但是你可以使用肮脏的技巧,例如:
MyControl
; Label
事件中的文字来模仿控制(例如,OnPaint
。)与Controls
的问题(如果确实存在任何问题)进行斗争会不会更容易?