본문 바로가기
[ Program ]/C#

이벤트 만드는법, 이벤트로 폼간 데이터 전달하는법

by 관이119 2012. 9. 17.

<<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());

}

댓글