C# MDI子窗体改变父窗体中的全局变量
C#编写一个MDI程序,我在子窗体中点右上角的关闭按钮,怎样将主窗体中的count(记录子窗体个数的变量)减1...
C# 编写一个MDI程序,我在子窗体中点右上角的关闭按钮,怎样将主窗体中的count(记录子窗体个数的变量)减1
展开
2个回答
展开全部
父窗体名为Form1 子窗体名为Form2
在Form1中添加一个按钮控件名为btnShow 一个标签控件名为labCount并设置labCount的Text值为0 然后双击btnShow控件添加以下代码.
private void btnShow_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Owner = this;
form2.Show();
labCount.Text = (Convert.ToInt32(labCount.Text) + 1).ToString();
}
添加这个全局方法到Form1中, 用来被子窗口Form2调用.
public void addcount()
{
labCount.Text = (Convert.ToInt32(labCount.Text) - 1).ToString();
}
在Form2中 建立Form2的事件FormClosing 并添加以下代码
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Form1 form1 = (Form1)this.Owner;
form1.addcount();
}
完成.
在Form1中添加一个按钮控件名为btnShow 一个标签控件名为labCount并设置labCount的Text值为0 然后双击btnShow控件添加以下代码.
private void btnShow_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Owner = this;
form2.Show();
labCount.Text = (Convert.ToInt32(labCount.Text) + 1).ToString();
}
添加这个全局方法到Form1中, 用来被子窗口Form2调用.
public void addcount()
{
labCount.Text = (Convert.ToInt32(labCount.Text) - 1).ToString();
}
在Form2中 建立Form2的事件FormClosing 并添加以下代码
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Form1 form1 = (Form1)this.Owner;
form1.addcount();
}
完成.
展开全部
在子窗体的FormClosing事件里写(关闭时触发的事件)
在父窗体中定义一个静态的全局变量count(记录子窗体个数)
public static int count = 1;
父窗体Show出子窗体
{
From2 f2 = new From2();
f2.ShowDialog();
TextBox1.Text = count.ToString(); //如果不加此句,虽然变量改变了,但窗体上显示的还是以前的数据
}
Form2的FormClosing事件
{
Form1.count -= 1;
}
在父窗体中定义一个静态的全局变量count(记录子窗体个数)
public static int count = 1;
父窗体Show出子窗体
{
From2 f2 = new From2();
f2.ShowDialog();
TextBox1.Text = count.ToString(); //如果不加此句,虽然变量改变了,但窗体上显示的还是以前的数据
}
Form2的FormClosing事件
{
Form1.count -= 1;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询