2种形式的组件之间的相互作用

时间:2013-11-29 04:05:37

标签: c# winforms

首先我禁用了一个Toolstrip菜单项,这样当用户点击“Enable”按钮时,Toolstrip菜单项就可以像:

private System.Windows.Forms.ToolStripMenuItem QLKHTSM;

表格上禁用QLKHTSM。

问题是启用按钮在另一个窗体上,所以我尝试通过此代码在2个窗体之间进行交互(在与ToolStripMenuItem相同的形式下)

public static void enabletoolstrip()
    {
        QLKHTSM.enable = true;
    }

但问题是静态,QLKHTSM不可用,没有静态,我无法以其他形式调用它。 请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

QLKTHSM所在的表单中,转到QLKTHSM的属性,并将修改器属性更改为Public。然后转到第二个表单并使用。

public void enabletoolstrip()
{
    FirstForm f1 = (FirstForm)Application.OpenForms["FirstForm"];
    f1.QLKHTSM.Enabled = true;
}

如果尚未显示QLKHTSM的表单,则可以创建全局对象。

FirstForm f1 = new FirstForm();

然后在您的启用工具条

public void enabletoolstrip()
{
    f1.QLKHTSM.Enabled = true;
}

然后,无论您想要显示使用的表单

f1.Show();