如何在 Form2、C#、Visual studio 上从 Form1 更改 tabcontrol 的 'Enable' 属性
How to change 'Enable' property of tabcontrol from Form1 on Form2, C#, Visual studio
我同时激活了 Form1 和 Form2,Form2 有一个 TabControl,我希望 Form1 上的按钮单击事件更改 Form2 上的 tabControl 'Enable' 属性
Form2 上的 TabControl 设置为 tabControl1.enabled = false;
并且 Form1 充当 Form2 的登录表单,因此我需要 Form1 上的登录按钮以在 Form2
上启用 'tabControl1'
我可以通过将 private System.Windows.Forms.TabControl tabControl1;
设置为 'Public' 来访问 属性,但是,在 Form1 上使用以下按钮单击事件不会执行任何操作。
Form2 formnew2 = new Form2();
formnew2.tabControl1.Enabled = true;
有人可以提供一个简单的例子来帮助我理解或 link 以前回答的问题
在 Form1 中引用了 Form2。
在 Form2 中,将 TabControl 的 Enable 属性 包装在 public 方法中,并从 Form1
调用它
在表格 1 中:
...
Form2 form2;
public Form1()
{
// initialize and show form2
this.form2 = new Form2();
this.form2.Show();
}
...
在 Form2 中:
...
public void EnableTabControl()
{
this.tabControl1.Enabled = true;
}
...
然后在单击按钮时在 Form1 中:
private void btnLogin_Click(object sender, EventArgs e)
{
// verify that it was initialized
if (form2 != null)
{
this.form2.EnableTabControl();
}
}
您似乎使用了错误的 Form2
引用。您可能有一个打开的 Form2
,但您在 Form1
中错误地再次创建了 Form2
的新实例。因此更改新实例属性对之前打开的实例没有影响。
您应该将 Form2
的实例传递给 Form1
并使用它。
您还可以使用 Application.OpenForms
找到 Form2
的 运行 个实例
我同时激活了 Form1 和 Form2,Form2 有一个 TabControl,我希望 Form1 上的按钮单击事件更改 Form2 上的 tabControl 'Enable' 属性
Form2 上的 TabControl 设置为 tabControl1.enabled = false;
并且 Form1 充当 Form2 的登录表单,因此我需要 Form1 上的登录按钮以在 Form2
我可以通过将 private System.Windows.Forms.TabControl tabControl1;
设置为 'Public' 来访问 属性,但是,在 Form1 上使用以下按钮单击事件不会执行任何操作。
Form2 formnew2 = new Form2();
formnew2.tabControl1.Enabled = true;
有人可以提供一个简单的例子来帮助我理解或 link 以前回答的问题
在 Form1 中引用了 Form2。 在 Form2 中,将 TabControl 的 Enable 属性 包装在 public 方法中,并从 Form1
调用它在表格 1 中:
...
Form2 form2;
public Form1()
{
// initialize and show form2
this.form2 = new Form2();
this.form2.Show();
}
...
在 Form2 中:
...
public void EnableTabControl()
{
this.tabControl1.Enabled = true;
}
...
然后在单击按钮时在 Form1 中:
private void btnLogin_Click(object sender, EventArgs e)
{
// verify that it was initialized
if (form2 != null)
{
this.form2.EnableTabControl();
}
}
您似乎使用了错误的 Form2
引用。您可能有一个打开的 Form2
,但您在 Form1
中错误地再次创建了 Form2
的新实例。因此更改新实例属性对之前打开的实例没有影响。
您应该将 Form2
的实例传递给 Form1
并使用它。
您还可以使用 Application.OpenForms
Form2
的 运行 个实例