class1 에서 form1 에 있는 라벨 텍스트값을 조작해보는 방법을 간단하게 소개해보겠다.
class1
{
//메인 폼에 있는 텍스트라벨을 갱신하기 위해 델리게이트 사용
public delegate void uptext(string upLabelText); //델리게이트 선언
public event uptext ReturnToText; //델리게이트 이벤트 선언
private void labelToText()
{
ReturnToText("연결이 잘 되나 보자");//이벤트 호출
}
}
form1
{
public Form1()
{
InitializeComponent();
class1 cl = new class1(); //class1을 동적할당
cl.ReturnToText += new cl.uptext(UpdateText_set);//이벤트 핸들러 연결
cl.labelToText();//이벤트 호출 값을 지닌 함수 호출
}
private void UpdateText_set(string upLabelText)
{
UpdateText.Text = upLabelText;//라벨의 텍스트 값 변경
}
}
이걸 잘 응용하면 폼과 폼 끼리 클래스와 클래스끼리 폼과 클래스끼리 데이터를 주고 받을 수 있으니 응용하기 나름인 것 같다.
위 방법을 응용해서 ShiningLoreLauncher 프로그램에서 업데이트 할 때 업데이트 클래스에서 출력되는 이벤트 텍스트 값을 메인 폼에 출력할 수 있었다.
댓글 없음:
댓글 쓰기