C#利用ucSwitch关闭串口时StackOverflowException

C#利用ucSwitch关闭串口时StackOverflowException

个人记录

本来想实现一个switch控制连接/断开串口,为了保证一致,在serialPort.close()之后加多一个ucSwitch.Checked=false,然后发现每次close的时候都会报错
StackOverflowException

private void ucSwitch_CheckedChanged(object sender, EventArgs e){
    
    
	serialPort.close();
	ucSwitch.Checked = false;
}

后面发现不管你ucSwitch的checked是什么状态,只要给checked赋一次值就会触发一次CheckedChanged,也就是说就算我Checked已经是false,再来一次Checked=false也会继续触发当前函数,无限调用,也就StackOverflowException了

猜你喜欢

转载自blog.csdn.net/qq_43622870/article/details/128381731
今日推荐