串口锁存器应用C#

时间:2014-01-28 18:17:37

标签: c# winforms serial-port

我正在创建一个正在读取串口并在WindowsForms应用程序屏幕中更新数据的应用程序。

有时当您尝试关闭程序时会被锁定。 我正在使用代表。

我应该做错什么?

void sp1_LineReceived(object sender, LineReceivedEventArgs Args)
{
  Invoke(new Action(() =>
  {
    // execute code
  }));
}

初​​始化

public FormPrincipal()
{
  InitializeComponent();
  spSistema.LineReceived += new LineReceivedEventHandler(sp1_LineReceived);
  // next codes
}

外部代码

public partial class FormPrincipal : Form
{       
  SerialPort spSimulador = new SerialPort();        
  public static PortaSerial spSistema = new PortaSerial();

1 个答案:

答案 0 :(得分:2)

通常,BeginInvoke优于Invoke,因为它不会阻止。 See here。你可能在这里陷入僵局。

void sp1_LineReceived(object sender, LineReceivedEventArgs Args)
{
  BeginInvoke(new Action(() =>
  {
    // execute code
  }));
}