0
RS232 포트에서 데이터를 수신 할 serialPort1 개체가 있습니다. RS232에서 "finish"문자열을 얻을 때 tabControl1의 tabPage2를 선택하고 싶습니다. 이 코드는 내가하고 싶은 코드입니다.serialPort1의 receiveData 이벤트에서 C#의 tabControl1 tabPage2를 실제로 선택하는 방법은 무엇입니까?
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadExisting();
if(RxString == "finish")
{
tabControl1.SelectedIndex = 1;
}
this.Invoke(new EventHandler(DisplayText));
}
나는 버튼 이벤트에 을 사용하면 내가 버튼을 클릭하면, 그것은 매우 잘 작동하지만 이벤트 "serialPort_DataReceived"에 넣을 때 나에게 오류 보여줍니다
오류가이다 " 크로스 스레드 작업이 유효하지 않음 : 생성 된 스레드가 아닌 다른 스레드에서 액세스 한 'tabControl1'제어. "