C# MDI子窗体改变父窗体中的全局变量

C#编写一个MDI程序,我在子窗体中点右上角的关闭按钮,怎样将主窗体中的count(记录子窗体个数的变量)减1... C# 编写一个MDI程序,我在子窗体中点右上角的关闭按钮,怎样将主窗体中的count(记录子窗体个数的变量)减1 展开
 我来答
qilinzd
2010-04-11 · TA获得超过541个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:333万
展开全部
父窗体名为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();
}

完成.
luo2008vip
2010-04-11 · TA获得超过105个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:164万
展开全部
在子窗体的FormClosing事件里写(关闭时触发的事件)

在父窗体中定义一个静态的全局变量count(记录子窗体个数)
public static int count = 1;

父窗体Show出子窗体
{
From2 f2 = new From2();
f2.ShowDialog();
TextBox1.Text = count.ToString(); //如果不加此句,虽然变量改变了,但窗体上显示的还是以前的数据
}

Form2的FormClosing事件
{
Form1.count -= 1;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式