C# 窗体:
是否可以创建一个按钮来更改已打开的另一种形式的 ToolStripMenuItem 的文本?
就像是:
private void button1_Click_1(object sender, EventArgs e)
{
Form1.ToolStripMenuItem.Text = "Some_text";
}
C# 窗体:
是否可以创建一个按钮来更改已打开的另一种形式的 ToolStripMenuItem 的文本?
就像是:
private void button1_Click_1(object sender, EventArgs e)
{
Form1.ToolStripMenuItem.Text = "Some_text";
}
是的,如果表单设计器创建的菜单控件将是私有的,因此您可以在包含菜单的表单中创建公共方法或属性以更改文本并从其他表单调用它。
public void ChangeText(string Text){
this.ToolStripMenuItem.Text = Text;
}
然后从外面调用它
刚刚遇到类似的问题,这是我的代码:
public void UpdateStatusBarUp(string status)
{
if (this.InvokeRequired)
{
this.BeginInvoke((MethodInvoker)delegate
{
UpdateStatusBarUp(status);
});
}
else
{
toolStripStatusLabelUp.Text = status;
statusStripUp.Refresh();
}
}
请记住真正使更改显示在 GUI 中所需的 Refresh()。
或者,修改 Form1 设计器代码,以便 ToolStripMenuItem 的私有变量是公共的而不是私有的。