이벤트 만드는법, 이벤트로 폼간 데이터 전달하는법
<<FORM1>>
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//폼생성시 폼2에 있는 이벤트를 추가(폼2에 이벤트가 먼저만들어져 있어야함)
Form2 _Form2 = new Form2();
_Form2.OnDataSend +=new Form2.DataSendHandler(_Form2_OnDataSend);
}
void _Form2_OnDataSend(string data)
{
this.textBox1.Text = data;
}
<<FORM2>>
//이벤트생성
public delegate void DataSendHandler(string data);
public event DataSendHandler OnDataSend;
public delegate void changethissize();
public event changethissize changethis;
public delegate string getcurrenttext();
public event getcurrenttext gettext;
public Form2()
{
InitializeComponent();
//이벤트추가
this.changethis += new changethissize(Form2_changethis);
this.gettext += new getcurrenttext(Form2_gettext);
}
string Form2_gettext()
{
return this.Text;
}
void Form2_changethis()
{
this.Width = 20;
}
private void button1_Click(object sender, EventArgs e)
{
//이벤트가 비어있지않으면 실행
if (OnDataSend != null)
OnDataSend("aaaa");
if (changethis != null)
changethis();
if (gettext != null)
MessageBox.Show(gettext());
}