日期:2014-05-20  浏览次数:20777 次

各位帮解决一下!!!!!!!
如何继承窗口的类
比如
创建打开一个窗口,然后再通过事件,打开另一个窗口,但我还需要用第一个窗口类中声名的方法

如果在在第二个窗口类中声明
  form1   frm   =   new   form1();  
这样的话是不是每次都重新初始化form1,这样程序速度很慢
可不可用继承的方法
private   void   form2_Load(object   sender,   System.EventArgs   e)
在这里调用,各位能否教个别的方法

------解决方案--------------------
你这样来定义第二个窗体:
class From2:Form
{
private Form1 m_firstFrom;
public Form1 FirstForm
{
set
{
this.m_firstForm=value
}
}
private someMethod()
{
this.m_firstForm.someMember;//调用第一个窗体的成员
}
}

第一个窗体里面这么使用第二个窗体:
class Form1:Form
{
private void claaFrom2()
{
From2 f = new Form2();
f.FirstForm = this;//把第一个窗体传到第二个里面.
f.ShowDialog();
}
}
------解决方案--------------------
//随手写的,自己试一下
form2里头定义一个delegate
public delegate void BtnClickHandel();
public event BtnClickHandel BtnEvent;

//添加一个按钮click事件触发
private void btnClick( object sender, Evne...)
{
if( BtnEvent != null )
BtnEvent();
}

form1里定义。。。


form2 frm = new form2()
frm.BtnEvent = new BtnClickHandel(yourEvent);


//要调用得事件
private void yourEvent()
{
}
------解决方案--------------------
2种方法都不错。
委托用起来更自然一点吧?
------解决方案--------------------
up