要实现的是在一个窗体关闭时,把另外一个窗体中的菜单中的toolstripmenuitem的checked给修改了~写了代码,实现不了。
但是在unshowoverviewtitle()这个方法中加了MessageBox发现是有消息框弹出来的~但是属性却是修改不了很奇怪。。
这是窗体OverView中的代码~
private void OverView_FormClosed(object sender, FormClosedEventArgs e)
{
MainWindow fm = new MainWindow();
fm.unshowoverviewtitle();
}
修改checked。。
public void unshowoverviewtitle()
{
this.overeyeToolStripMenuItem.Checked = false;
} 请高手指点下刚学的C# 没一个月
但是在unshowoverviewtitle()这个方法中加了MessageBox发现是有消息框弹出来的~但是属性却是修改不了很奇怪。。
这是窗体OverView中的代码~
private void OverView_FormClosed(object sender, FormClosedEventArgs e)
{
MainWindow fm = new MainWindow();
fm.unshowoverviewtitle();
}
修改checked。。
public void unshowoverviewtitle()
{
this.overeyeToolStripMenuItem.Checked = false;
} 请高手指点下刚学的C# 没一个月
MainWindow fm = new MainWindow();
fm.unshowoverviewtitle();
MainWindow类窗口并不是你原来那个窗体,而是你新创建的一个实例,你应该在打开那要关闭的窗体时把菜单窗体的实例传给关闭窗体才行,关闭时
private void OverView_FormClosed(object sender, FormClosedEventArgs e)
{
fm.unshowoverviewtitle();
}
就行了
OverView fov = new fov();
fov.Show();fov.FormClosed += (obj, args) =>
{
this.overeyeToolStripMenuItem.Checked = false;
};
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
frm.Show();
frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
} void frm_FormClosed(object sender, FormClosedEventArgs e)
{
this.Text = "form2已关闭!";
} private void button2_Click(object sender, EventArgs e)
{
frm.Close();
}
无论是通过button2手动关闭还是通过form2窗体的关闭按钮关闭,form1的标题都会显示: "form2已关闭!"
fm2是我新建的 不是在fm1里声明的 这样能实现吗?