C#windows窗体:
是否可以创建一个按钮来更改另一个已打开的表单中ToolStripMenuItem的文本?
类似的东西:
private void button1_Click_1(object sender, EventArgs e)
{
Form1.ToolStripMenuItem.Text = "Some_text";
}
答案 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()。