본문 바로가기
C#, MONO

다른 폼으로 메시지 전송(3)

by gigasound 2021. 8. 9.

폼 간에 메시지를 전송할 수 있는 방법인데, 전송 메시지에 담기는 내용을 사용자가 마음대로 결정할 수 있어 매우 유연한 방법입니다.

즉 데리게이터로 전송하고 자하는 메시지의 객체 형태를 변경하여 사용하면 됩니다.

 

전송하는 폼의 코드입니다.

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