public SSMEmulatorForm() { InitializeComponent(); ssmcomout1 = new SSMComOUT(); ssmcomout1.SSMCOMOUTErrorOccured += ssmcomout1_SSMCOMOUTErrorOccured; _communicate_start = false; }
private void ssmcomout1_SSMCOMOUTErrorOccured(Object sender, SSMCOMErrorEventArgs args) { // UIとは別スレッドからの実行のため、Invokeメソッドを使ってスレッドセーフにする(通信スレッドからUIスレッドに委譲) // コントロールを生成したスレッドの場合 InvokeRequired は false となります。 if (this.InvokeRequired) { // コントロールを生成したスレッドに処理を委譲します。 this.Invoke((MethodInvoker) delegate() { ssmcomout1_SSMCOMOUTErrorOccured(sender, args); }); return; } SSMComOUT senderobj = (SSMComOUT)sender; MessageBox.Show(args.Message, "SSMCOMError", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); _communicate_start = false; buttonStart.Text = "Start"; }
public SSMEmulatorForm() { InitializeComponent(); ssmcomout1 = new SSMComOUT(); _communicate_start = false; }