![]() |
1
2
发生这种情况的原因不是您要从Form2中删除控件,而是要添加它们。无法在窗体之间共享控件。如果您查看控件集合枚举器上Form2.Controls.Add()的反射代码,我们可以看到这里发生了什么: ... if (value.parent == this.owner) { value.SendToBack(); } else { if (value.parent != null) { value.parent.Controls.Remove(value); } base.InnerList.Add(value); ... 正如您在这里看到的,它检查传入控件的父级,如果它不是集合的所有者,那么它只运行一个值.parent.control s.remove(value),从它的原始窗体中除去该控件,以便将其添加到当前窗体中。 |
![]() |
2
1
控件不能同时位于两个窗体上。我很惊讶你能接受,可能是因为你没有显示MyControlContainerForm。 注意,控件有一个父属性(=who's control s集合中是i?),单数。 编辑:实际上,当button1在panel1上时,它是panel1.controls的一部分。但是声明
移除 面板1的按钮1。控件。
你可以使用
|
![]() |
GoTouchGrass · 右键单击按钮不会触发事件 10 月前 |
![]() |
NEWBIE · 无法在winform中设置变量 11 月前 |
![]() |
Farrow · 我无法使字符串正确显示 1 年前 |
|
IDNKEK · 在Visual Studio中绘制图表时出现问题 1 年前 |