プログラムの最初で、COM6 上のデバイスとの接続を開始できるかどうかを確認しています。デバイスが見つからない場合は、MessageBox を表示してプログラムを完全に終了させたいと考えています。
Main()
初期プログラムの関数でこれまでに得たものは次のとおりです。
try
{
reader = new Reader("COM6");
}
catch
{
MessageBox.Show("No Device Detected", MessageBoxButtons.OK, MessageBoxIcon.Error)
}
Application.EnableVisualStyles();
Application.SetCompatibleRenderingDefault(false);
Application.Run(new Form1());
MessageBox コマンドの後に a を配置しようとするとApplication.Exit();
、デバイスが検出されないときに MessageBox が正しく表示されますが、MessageBox を閉じると、Form1 は開きますが、完全にフリーズし、閉じたり、ボタンをクリックしたりできません。デバイスが接続されていないため、とにかくエラーが発生するはずです。
MessageBox が表示された後、プログラムを完全に強制終了する方法を探しています。ありがとう。
解決策:return;
MessageBox が閉じられた後にメソッドを使用した後、デバイスが接続されていないときにプログラムが終了しました。ただし、デバイスが接続されている場合でも、テスト後の読み取りに問題がありました。これは私が以前に発見したことのないものでしたが、簡単な修正でした. これが私の完全に機能するコードです:
try
{
test = new Reader("COM6");
test.Dispose(); //Had to dispose so that I could connect later in the program. Simple fix.
}
catch
{
MessageBox.Show("No device was detected", MessageBoxButtons.OK, MessageBoxIcon.Error)
return;
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());