我在表单上放置了几个面板。当我单击设计器中的中央面板时,主窗体是实际选择的(即使面板应该在它的顶部,并且主窗体不应该(容易)在设计器中单击)。
顺便说一句,单击表单上的其他面板没有这个问题(所有其他面板都在表单的顶部)。
由于当我预期我正在单击面板时单击了表单,当我向我认为是面板的内容添加了几个控件时(在面板顶部成功添加了一些标签之后),所有这些控件(复选框)都结束了在面板下方的表单上,以便它们不会在运行时显示:
当我意识到控件在表单上而不是在面板上时,我从属性浏览器中选择了表单,一次选中了所有复选框,然后剪切了它们的组。
然后我从属性浏览器中选择了主面板,并将那些剪切的复选框粘贴到面板上。它有点工作,但我所看到的只是他们的大纲(全部选择在一起)。我使用 Ctrl+Up 箭头将它们在面板上的主体中向上移动,一次一点,直到它们都靠近它们所属的顶部。但后来他们就消失了。
从现在开始,我将确保在向该区域添加任何控件之前右键单击面板并选择“BringToFront”;不过,目前我在表单或面板上都没有看到复选框。如何取回它们(并将它们放在面板上),并防止表单出现在面板顶部(除非/当我从属性浏览器中选择它时)?
复选框仍然存在,尽管它们的名称已从“ckbxAll”等更改为 Checkbox1 等。它们出现在 Form1Designer.cs 的正确面板上,但不显示。以下是它们在那里的表示方式:
// panelMain
//
this.panelMain.BackColor = System.Drawing.Color.White;
this.panelMain.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panelMain.Controls.Add(this.checkBox21);
this.panelMain.Controls.Add(this.checkBox20);
this.panelMain.Controls.Add(this.checkBox19);
this.panelMain.Controls.Add(this.checkBox18);
this.panelMain.Controls.Add(this.checkBox17);
this.panelMain.Controls.Add(this.checkBox16);
this.panelMain.Controls.Add(this.checkBox15);
this.panelMain.Controls.Add(this.checkBox14);
this.panelMain.Controls.Add(this.checkBox13);
this.panelMain.Controls.Add(this.checkBox12);
this.panelMain.Controls.Add(this.checkBox11);
this.panelMain.Controls.Add(this.checkBox10);
this.panelMain.Controls.Add(this.checkBox9);
this.panelMain.Controls.Add(this.checkBox8);
this.panelMain.Controls.Add(this.checkBox7);
this.panelMain.Controls.Add(this.checkBox6);
this.panelMain.Controls.Add(this.checkBox5);
this.panelMain.Controls.Add(this.checkBox4);
this.panelMain.Controls.Add(this.checkBox3);
this.panelMain.Controls.Add(this.checkBox2);
this.panelMain.Controls.Add(this.checkBox1);
this.panelMain.Location = new System.Drawing.Point(160, 0);
this.panelMain.Name = "panelMain";
this.panelMain.Size = new System.Drawing.Size(639, 740);
this.panelMain.TabIndex = 2;
//
更新
事实证明它们在那里,但它们现在是不可见的(当我点击它们时它们的轮廓除外):