紧急求助字符串转换的问题。

shui8iuhs 2009-01-22 05:10:04
我写了个简单的关于串口接收和发送信息的SerialPort的Demo。
我在点击“打开串口按钮”的时候,报错:错误 1 无法将类型“string”转换为“System.IO.Ports.Parity” E:\********\SerialPortDemo\Form1.cs 71 32 SerialPortDemo
错误 2 无法将类型“string”转换为“System.IO.Ports.StopBits” E:\********\TEST\SerialPortDemo\Form1.cs 72 34 SerialPortDemo


我的btnOpen_Click事件写的是:

try
{
sport = new SerialPort();
sport.PortName = this.cbPortName.SelectedItem.ToString();
sport.DataBits = int.Parse(this.cbDataBits.SelectedItem.ToString());
sport.BaudRate = int.Parse(this.cbBaudRate.SelectedItem.ToString());
sport.Parity = (Parity)(this.cbParity.SelectedItem.ToString());
sport.StopBits = (StopBits)(this.cbStopBits.SelectedItem.ToString()); sport.Open();
this.lblShowMessage.Text = "串口" + this.cbPortName.SelectedItem.ToString() + "打开成功!";
this.btnClose.Enabled = true;
this.btnSend.Enabled = true;
this.txtRecive.Text = sport.ReadExisting();
}
catch (Exception ex)
{
ex.ToString();
this.lblShowMessage.Text = "串口打开失败!";
}




我要怎样才可以将下拉列表里的string类型转换成Parity和StopBits枚举呢???
请各位大侠们帮我看看。在此先谢谢了。
...全文
250 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
formazetwo 2010-02-22
  • 打赏
  • 举报
回复
我也出现了这样的问题
king19840811 2009-01-22
  • 打赏
  • 举报
回复
sport.Parity = (Parity)Enum.Parse(typeof(Parity),this.cbParity.SelectedItem.ToString());
sport.StopBits = (StopBits)Enum.Parse(typeof(StopBits),this.cbStopBits.SelectedItem.ToString());
zgke 2009-01-22
  • 打赏
  • 举报
回复
public StopBits GetStopBits(string StopBitsText)
{
switch (StopBitsText.Trim().ToLower())
{
case "none":return StopBits.None;
case "one":return StopBits.One;
case "onePointFive": return StopBits.OnePointFive;
case "two": return StopBits.Two;
}
return StopBits.None;
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧