목표: 힘들게 제작해둔 User Control 기능중에서 Btn이나 기타 main form에 어떠한 정보를
주고자 하는 경우의 event 등록과 사용방법에 대해 알아보자.
1. UserContrl에 btn을 만들어 놓고,
btn을 클릭했을경우, Main form에 어떠한 데이터를 넘겨주는 로직을 구현하고자 할때..
하기의 block Diagram 으로 표현해보자.
2. 실제 적용된 소스 코드를 들여다 보자
/// User Contrl . dll
namespace asServerLoginX
{
// define the delegate for use the event in this User Contrl.
// To use this event, you have to registry event in Main Form.
public delegate void BtnPingOnClickHandler(string msg);
public partial class ServerLoginX : UserControl
{
#region "전역으로 사용되는 변수 리스트"
// event instance define.
public event BtnPingOnClickHandler BtnPingOnClick;
.............
}
// event를 사용하고자 하는 부분.
// It's create the event to give the Main Form.
if (BtnPingOnClick != null) // event가 등록되어있다면...
BtnPingOnClick(retmsg);
}
//Main Form에서 event 연결시키고 UserContrl에서 추가한 이벤트 정보 가져오기
namespace ServerTester
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// User Control에서 Button Event 가져오기.
private void Form1_Load(object sender, EventArgs e)
{
// axSLoginX.EnableResultBox(false);
axSLoginX.BtnPingOnClick +=
new asServerLoginX.BtnPingOnClickHandler(GetMsg);
}
private void GetMsg(string msg)
{
MessageBox.Show(msg);
}
}
}
'프로그래밍 > .Net' 카테고리의 다른 글
[본문스크랩] [C#] 파일처리(3) FileInfo 클래스 - 파일 복사,이동,삭제 (0) | 2014.01.17 |
---|---|
자신의 PC IP 얻어오기(local pc ip ) (0) | 2014.01.17 |
서버PC에 있는 파일 실행시키기(host execute) (0) | 2014.01.17 |
ftp protocol을 이용하여 지정된 host에 파일 업로드 하기(ftp upload) (0) | 2014.01.17 |
ftp protocol을 이용하여 지정된 host로부터 파일 다운로드 하기(ftp download) (0) | 2014.01.17 |