110,499
社区成员
发帖
与我相关
我的任务
分享
private void conditionsConfir_Click(object sender, EventArgs e)
{
//打开串口
//serialPort1.PortName = serialSelect.Text;
if (serialPort1.IsOpen) //串口打开就关闭
{
try
{
serialPort1.Close();
conditionsConfir.Text = "串口关闭";
ovalShape1.FillColor = Color.Gray;
}
catch { } //确保万无一失
//button1.Text = "打开串口";
// button1.BackgroundImage = Properties.Resources.Image2; //灭
//Button1Statue = false; //按钮状态
}
else
{
try
{
serialPort1.PortName = serialSelect.Text; //端口号
serialPort1.Open();
ovalShape1.FillColor = Color.LimeGreen;
conditionsConfir.Text = "确认条件";
//button1.Text = "关闭串口";
// button1.BackgroundImage = Properties.Resources.Image1;//亮
//Button1Statue = true; //按钮状态
}
catch
{
MessageBox.Show("串口打开失败", "错误");
}
}
//温选择
if (furnaceTemperature.Text == "0")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, zeroDegree, zeroDegree);
}
else if (furnaceTemperature.Text == "100")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, oneHundredDegree1, oneHundredDegree2);
}
else if (furnaceTemperature.SelectedIndex == 2)
{
WriteByteToSerialPort(controlTemperature, zeroDegree, twoHundredDegree1, twoHundredDegree2);
}
else if (furnaceTemperature.Text == "300")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, threeHundredDegree1, threeHundredDegree2);
}
else if (furnaceTemperature.Text == "400")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, fourHundredDegree1, fourHundredDegree2);
}
else if (furnaceTemperature.Text == "500")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, fiveHundredDegree1, fiveHundredDegree2);
}
else if (furnaceTemperature.Text == "600")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, sixHundredDegree1, sixHundredDegree2);
}
else if (furnaceTemperature.Text == "700")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, sevenHundredDegree1, sevenHundredDegree2);
}
else if (furnaceTemperature.Text == "800")
{
WriteByteToSerialPort(controlTemperature, zeroDegree, eightHundredDegree1, eightHundredDegree2);
}
else
{
MessageBox.Show("请正确输入温度值!", "提 示");
}
}
if (serialPort1.IsOpen) //串口打开就关闭
{
try
{
serialPort1.Close();
conditionsConfir.Text = "串口关闭";
ovalShape1.FillColor = Color.Gray;
}
catch { } //确保万无一失
//button1.Text = "打开串口";
// button1.BackgroundImage = Properties.Resources.Image2; //灭
//Button1Statue = false; //按钮状态
}
这不是你自己写的么,如果串口打开了就关闭他,如果没打开就打开他。然后你的问题不就正好你你自己写的逻辑么,第一次没打开就打开,第2次打开了就关闭,没毛病!完全符合你的代码逻辑 private void comboBox1_TextChanged(object sender, EventArgs e)
{
MessageBox.Show("nihao");
}