2013-11-04 15 views
0

我想在serialport_DataReceived事件中運行一個方法。C#在serialport_datareceived中運行一個方法事件

public void Draw(byte[] data); 

private void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e) 
{ 
     this.Invoke(new EventHandler(DrawingAudioData(data))); 
} 

這是行不通的。它給出了一個錯誤,說「方法名稱預期」。我能做什麼?

回答

1

嘗試

public delegate void Draw(byte[] data); 

private void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e) 
{ 
    this.Invoke(new Draw(DrawingAudioData), data); 
} 

在我看來,在DrawingAudioData傳遞給調用沒有事件處理程序的簽名。你也應該將方法Name傳遞給委託構造函數。

的DrawingAudioData方法應該具有的是牽引委託相匹配的簽名:有關事件處理程序here

public void DrawingAudioData(byte[] data) { 

更多信息。

有關Delegate和Invoke方法here的更多信息。

+0

謝謝。這就是我所看到的。 – Blast

相關問題