C#, MONO
다른 폼으로 메시지 전송(3)
gigasound
2021. 8. 9. 10:50
폼 간에 메시지를 전송할 수 있는 방법인데, 전송 메시지에 담기는 내용을 사용자가 마음대로 결정할 수 있어 매우 유연한 방법입니다.
즉 데리게이터로 전송하고 자하는 메시지의 객체 형태를 변경하여 사용하면 됩니다.
전송하는 폼의 코드입니다.
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) {...}