C# 用户控件BringToFront()不工作
C# 用户控件BringToFront()不工作,c#,winforms,C#,Winforms,BringToFront()无法使用我的代码。我在表单中放置了两个用户控件,但另一个没有显示 private void button1_Click(object sender, EventArgs e) { PanelSide.Height = button1.Height; PanelSide.Top = button1.Top; UserControl1 uc1 = new UserControl1(); uc1.Bri
BringToFront()
无法使用我的代码。我在表单中放置了两个用户控件,但另一个没有显示
private void button1_Click(object sender, EventArgs e)
{
PanelSide.Height = button1.Height;
PanelSide.Top = button1.Top;
UserControl1 uc1 = new UserControl1();
uc1.BringToFront();
}
private void button2_Click(object sender, EventArgs e)
{
PanelSide.Height = button2.Height;
PanelSide.Top = button2.Top;
UserControl2 uc2 = new UserControl2();
uc2.BringToFront();
}
我已经试过这个节目了,但还是没有出现
private void button1_Click(object sender, EventArgs e)
{
PanelSide.Height = button1.Height;
PanelSide.Top = button1.Top;
UserControl1 uc1 = new UserControl1();
uc1.BringToFront();
}
private void button2_Click(object sender, EventArgs e)
{
PanelSide.Height = button2.Height;
PanelSide.Top = button2.Top;
UserControl2 uc2 = new UserControl2();
uc2.BringToFront();
}
另外,当我删除usercontrol1uc1=newusercontrol1()并只写UserControl1.BringToFront()时;它将有一个错误。
像这样:
错误1非静态字段需要对象引用,
方法或属性
'System.Windows.Forms.Control.BringToFront()'c:\users\sheen\onedrive\documents\visual
演播室
2013\Projects\StockSystemTrial\StockSystemTrial\AdminHome.cs 29 13 StockSystemTrial
您必须首先像这样将控件添加到表单中
this.Controls.Add(uc1);
当您确实想要引用那些您已经拥有的控件时,不要创建新的控件 用他们的名字!编写
uc2.BringToFront()代码>等,如果这些是他们的名字
默认情况下,如果您有两个类,它将是userControl11
和userControl21
如果只有一个类UserControl
和它的两个实例,它们将自动命名为userControl1
和userControl2
不过,我建议选择更好的、会说的名字。好吧,他写道,他已经在表格上写了这些名字。在这种情况下,这并没有真正的帮助。@TaW是的,但当您创建一个新实例时,您必须首先将其添加到控件中。是的,但这可能不是他想要的。很多新手都犯了这个错误,他们相信自己可以通过创建表单引用来引用表单,但却创建了一个新实例。@TaW,我不知道我们是否应该让op为自己说话。(虽然第一行非常清楚…)-((你可能想考虑一下你的答案,如果我对OP的评论是正确的,你可以在你的帖子里把它整合起来))当你真的想引用那些你已经拥有的控件时,不要创建新的控件!用他们的名字!编写uc2.BringToFront()如果这些是他们的名字,代码>等。默认情况下,它将是userControl11
和userControl21
,thoughOK。下一步:想出更好的名字;-)