有一个父窗口,2个子窗口
父窗口里面创建了一个类对象my
myClass my = new myClass();对象里面有一个方法
my.Study();
问题在于子窗口也要用这个对象,难道又要分别在两个子窗口去分别new一下?这样似乎不太对吧
父窗口里面创建了一个类对象my
myClass my = new myClass();对象里面有一个方法
my.Study();
问题在于子窗口也要用这个对象,难道又要分别在两个子窗口去分别new一下?这样似乎不太对吧
1,可以将study设计为静态方法。
2,把my这个对象传入子窗体中办法很多
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void fun1()
{
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frmTarget = new Form2(this);
frmTarget.ShowDialog(this);
}
}public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} private Form1 fm1;
public Form2(Form1 fm)
{
this.fm1=fm;
}
private void button1_Click(object sender, EventArgs e)
{
fm1.fun1();
}
}
个人建议 有可能的话 myClass 单例
通过公共静态类进行传值;
通过绑定事件进行传值;
使用Attribute
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
} public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
在父窗口声明myClass属性。
public MyCalssmyClass{get;set;}
构造函数传值