c#中怎么用一个窗口关闭另一个窗口
privatevoidbuttonShowForm_Click(objectsender,EventArgse){SubFormSubFormTest=newSubFor...
private void buttonShowForm_Click(object sender, EventArgs e)
{
SubForm SubFormTest = new SubForm();
SubFormTest.Show();
buttonShowForm.Enabled = false;
}
private void buttonHideSubForm_Click(object sender, EventArgs e)
{
SubForm SubFormTest = new SubForm();
SubFormTest.Close();
}
这是我的代码,但是在代开子窗口后无法关闭了 展开
{
SubForm SubFormTest = new SubForm();
SubFormTest.Show();
buttonShowForm.Enabled = false;
}
private void buttonHideSubForm_Click(object sender, EventArgs e)
{
SubForm SubFormTest = new SubForm();
SubFormTest.Close();
}
这是我的代码,但是在代开子窗口后无法关闭了 展开
展开全部
这问题问的太不应该了,你对面向对象的基本概念还不了解。
你在一个按钮的单击事件里初始化了一个新窗体SubForm,这就创建了一个对象。如果要关闭它,首先要取得这个对象的引用。方法就是把窗体定义成窗体变量。
private class SubForm subForm;
private void buttonShowForm_Click(object sender, EventArgs e)
{
if(subForm != null)
{
subForm.Close();
}
subForm = new SubFomr();
subForm.Show();
buttonShowForm.Enabled = false;
}
private void buttonHideSubForm_Click(object sender, EventArgs e)
{
subForm.Close();
}
你在一个按钮的单击事件里初始化了一个新窗体SubForm,这就创建了一个对象。如果要关闭它,首先要取得这个对象的引用。方法就是把窗体定义成窗体变量。
private class SubForm subForm;
private void buttonShowForm_Click(object sender, EventArgs e)
{
if(subForm != null)
{
subForm.Close();
}
subForm = new SubFomr();
subForm.Show();
buttonShowForm.Enabled = false;
}
private void buttonHideSubForm_Click(object sender, EventArgs e)
{
subForm.Close();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,你的这个代码很有问题!!!
两个事件中打开了不同的窗口,在buttonShowForm_Click(object sender, EventArgs e)中打开了一个窗口;在buttonHideSubForm_Click(object sender, EventArgs e)中也打开了一个窗口,但是马上就关闭了(这个窗口你是看不到的,因为执行速度很快,马上就关闭了)。
出现这种情况是你没有搞懂变量的作用范围造成的。在每个事件中创建的实体是不同的,虽然名字相同,但是因为在不同的作用范围内,因此事实上是不同的对象。
这里也可以看出你对程序的理解上还是需要在努点力才行。下面我替你改了下,你试试。
private SubForm SubFormTest = new SubForm();
private void buttonShowForm_Click(object sender, EventArgs e)
{
this.SubFormTest.Show();
buttonShowForm.Enabled = false;
}
private void buttonHideSubForm_Click(object sender, EventArgs e)
{
this.SubFormTest.Close();
}
两个事件中打开了不同的窗口,在buttonShowForm_Click(object sender, EventArgs e)中打开了一个窗口;在buttonHideSubForm_Click(object sender, EventArgs e)中也打开了一个窗口,但是马上就关闭了(这个窗口你是看不到的,因为执行速度很快,马上就关闭了)。
出现这种情况是你没有搞懂变量的作用范围造成的。在每个事件中创建的实体是不同的,虽然名字相同,但是因为在不同的作用范围内,因此事实上是不同的对象。
这里也可以看出你对程序的理解上还是需要在努点力才行。下面我替你改了下,你试试。
private SubForm SubFormTest = new SubForm();
private void buttonShowForm_Click(object sender, EventArgs e)
{
this.SubFormTest.Show();
buttonShowForm.Enabled = false;
}
private void buttonHideSubForm_Click(object sender, EventArgs e)
{
this.SubFormTest.Close();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询