c#从另一种形式改变已打开的表格?

时间:2014-09-27 06:35:36

标签: c# forms edit toolstripmenu

C#windows窗体:

是否可以创建一个按钮来更改另一个已打开的表单中ToolStripMenuItem的文本?

类似的东西:

private void button1_Click_1(object sender, EventArgs e)
{
    Form1.ToolStripMenuItem.Text = "Some_text";
}

3 个答案:

答案 0 :(得分:2)

是的,如果表单设计器创建的菜单控件将是私有的,那么您可以在包含菜单的表单中创建公共方法或属性,以更改文本并从其他表单中调用它。

public void ChangeText(string Text){
   this.ToolStripMenuItem.Text = Text;

}

然后从外面调用

答案 1 :(得分:0)

或者,修改Form1设计器代码,以便ToolStripMenuItem的私有变量是公共的而不是私有的。

答案 2 :(得分:0)

刚出现类似的问题,这是我的代码:

public void UpdateStatusBarUp(string status)
    {
        if (this.InvokeRequired)
        {
            this.BeginInvoke((MethodInvoker)delegate
            {
                UpdateStatusBarUp(status);
            });
        }
        else
        {
            toolStripStatusLabelUp.Text = status;
            statusStripUp.Refresh();
        }
    }

请记住实际使更改显示在GUI中所需的Refresh()。