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

请看清楚问题再回答!
相同问题另一帖:http://community.csdn.net/Expert/topic/5459/5459069.xml?temp=.5478479


在主窗体Form1的按钮button1中有如下代码:

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

这样生成的一个动态窗体f,我想双击f窗体时,f窗体关闭
如何实现?
把这段代码copy到一个按钮事件中就会生成一个窗体
没有实实在在的窗体f在那里
直接写的话代码是在Form1中
关键是如何添加到f中?
f是动态生成的

请看清楚问题,刚才那帖都在强奸我的智商

------解决方案--------------------

f.DoubleClick+=Form2_DoubleClick;
这句加到show前面

private void Form2_DoubleClick(object sender, System.EventArgs e)
{
this.Close();
}
------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
Form f = new Form();
f.DoubleClick += new EventHandler(f_DoubleClick);
f.Width = 1024;
f.Height = 768;
f.TopMost = true;
f.FormBorderStyle = FormBorderStyle.None;
f.Show();

}

void f_DoubleClick(object sender, EventArgs e)
{
((Form)sender).Close();
}
------解决方案--------------------
上面写错了
private void Form2_DoubleClick(object sender, System.EventArgs e)
{
Form f=(Form)sender;
f.Close();
}
------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
Form f = new Form();
f.DoubleClick += new EventHandler(f_DoubleClick);
f.Width = 1024;
f.Height = 768;
f.TopMost = true;
f.FormBorderStyle = FormBorderStyle.None;
f.Show();
}

void f_DoubleClick(object sender, EventArgs e)
{
((Form)sender).Close();
}
------解决方案--------------------
晕,现在回贴效率还真快。
------解决方案--------------------
呵呵,不是一般的快
------解决方案--------------------
public void fDoubleClick(object sender, System.EventArgs e)
{
(sender as Form).Close();
}

------解决方案--------------------
呵呵,这样实现有意义吗?我觉得用动态控件来加载是不是更合适,更便于管理呢?