폼 간에 메시지를 전송할 수 있는 방법인데, 전송 메시지에 담기는 내용을 사용자가 마음대로 결정할 수 있어 매우 유연한 방법입니다.
즉 데리게이터로 전송하고 자하는 메시지의 객체 형태를 변경하여 사용하면 됩니다.
전송하는 폼의 코드입니다.
public delegate void delEvent(string str);
public event delEvent eventSender;
//- 버튼이 눌리면 메시지를 전송한다.
private void btnX_Click(object sender,EventArgs e) {
if(this.eventSender != null){
string msg = string.Format("${0:00},{1}",this.inportNumber,"EQ_SELECT");
this.eventSender(msg);
}
}
수신측 에서는 이벤트 발생에 따른 콜백 함수를 만들고, 수신 파라미터를 위의 코드에 있는 델리게이터의 인자와 같이 맞추면 됩니다.
// form_load
frmMain.inputMoudle[i].eventSender += InputModule_PropertyChanged;
private void InputModule_PropertyChanged(string rxString) {...}
'C#, MONO' 카테고리의 다른 글
배열과 리스트의 변환 (0) | 2021.08.09 |
---|---|
쓰레드 동작중에 Invoke로 문자 쓰기 (0) | 2021.08.09 |
다른 폼으로 메시지 전송(2) (0) | 2021.08.09 |
다른 폼으로 메시지 전송(1) (0) | 2021.08.09 |
richTextBox에 Console출력하기 (0) | 2021.08.09 |