日期:2014-05-19  浏览次数:20891 次

动态窗体如何双击关闭
在主窗体Form1的按钮button1中有如下代码:

Form   f=new   Form();
f.Width=1024;
f.Height=768;
f.TopMost=true;
f.FormBorderStyle=FormBorderStyle.None;
f.Show();

这样生成的一个动态窗体f,我想双击f窗体时,f窗体关闭
如何实现?

------解决方案--------------------
在双击事件里写

this.Close();
------解决方案--------------------
private void Form2_DoubleClick(object sender, System.EventArgs e)
{
this.Close();
}
------解决方案--------------------
f.DoubleClick+=Form2_DoubleClick;
这句加到show前面

private void Form2_DoubleClick(object sender, System.EventArgs e)
{
this.Close();
}
------解决方案--------------------
反射
------解决方案--------------------
你的动态窗体哪里来的啊?编码时总得有个实实在在的窗体在那里吧,你就在这个要关闭的窗体里写双击事件啊。
------解决方案--------------------
不好意思,一直是做BS的项目.
private void button1_Click(object sender, System.EventArgs e)
{
Form f=new Form();
f.DoubleClick += new System.EventHandler(this.fDoubleClick);

f.Width=1024;
f.Height=768;
f.TopMost=true;
f.FormBorderStyle=FormBorderStyle.None;
f.Show();

}

public void fDoubleClick(object sender, System.EventArgs e)
{
this.Close();
}
------解决方案--------------------
楼上正解.f的DoubleClick在本窗口实现
------解决方案--------------------
public void fDoubleClick(object sender, System.EventArgs e)
{
(sender as Form).Close();
}
------解决方案--------------------
private void button1_Click(object sender, System.EventArgs e)
{
Form f=new Form();
f.DoubleClick += new System.EventHandler(this.f_DoubleClick);

f.Width=1024;
f.Height=768;
f.TopMost=true;
f.FormBorderStyle=FormBorderStyle.None;
f.Show();

}

public void f_DoubleClick(object sender, System.EventArgs e)
{
From frm=(Form)sender;
frm.Close();
}

这样就行了!
------解决方案--------------------
学习
------解决方案--------------------
又看到有价值的东西了。
------解决方案--------------------
f.DoubleClick+=Form2_DoubleClick;
这句加到构造子中吧

private void Form2_DoubleClick(object sender, System.EventArgs e)
{
this.Close();
}


------解决方案--------------------
Form f=new Form();
f.Width=1024;
f.Height=768;
f.TopMost=true;
f.DoubleClick+=Form2_DoubleClick;
f.FormBorderStyle=FormBorderStyle.None;
f.Show();
private void Form2_DoubleClick(object sender, System.EventArgs e)
{
this.Close();
}
------解决方案--------------------
委托。我又学到了
------解决方案--------------------
用f.Dispose()和f.Close()之类的试试
------解决方案--------------------
记得写在按钮的事件监听里
------解决方案--------------------