积极答复者
c# 窗口同步

问题
答案
-
List<BaseForm> forms = new List<BaseForm>();
private void button1_Click(object sender, EventArgs e)
{
BaseForm bf = new BaseForm();
bf.myevent += new BaseForm.domyevent(bf_myevent);
bf.Show();
BaseForm bf1 = new BaseForm();
bf1.myevent += new BaseForm.domyevent(another_myevent);
bf1.Show();
forms.AddRange(new BaseForm[] { bf, bf1 });
}
public void startEvent()
{
foreach (BaseForm bf in forms)
{
bf.doit();
}
}
void another_myevent()
{
MessageBox.Show("thing1");
}
void bf_myevent()
{
MessageBox.Show("thing2");
}
private void button2_Click(object sender, EventArgs e)
{
startEvent();
}
public class BaseForm:Form
{
public delegate void domyevent();
public event domyevent myevent;
public void doit()
{
if (myevent != null)
{
myevent();
}
}
}- 已标记为答案 公开.身份 2010年7月3日 8:48
全部回复
-
List<BaseForm> forms = new List<BaseForm>();
private void button1_Click(object sender, EventArgs e)
{
BaseForm bf = new BaseForm();
bf.myevent += new BaseForm.domyevent(bf_myevent);
bf.Show();
BaseForm bf1 = new BaseForm();
bf1.myevent += new BaseForm.domyevent(another_myevent);
bf1.Show();
forms.AddRange(new BaseForm[] { bf, bf1 });
}
public void startEvent()
{
foreach (BaseForm bf in forms)
{
bf.doit();
}
}
void another_myevent()
{
MessageBox.Show("thing1");
}
void bf_myevent()
{
MessageBox.Show("thing2");
}
private void button2_Click(object sender, EventArgs e)
{
startEvent();
}
public class BaseForm:Form
{
public delegate void domyevent();
public event domyevent myevent;
public void doit()
{
if (myevent != null)
{
myevent();
}
}
}- 已标记为答案 公开.身份 2010年7月3日 8:48