プログラムについて助けが必要です。だから私はcomポート接続( gps device )を持っていて、プログラムが起動すると、 gps eventhandler がトリガーされるまで Form2 を表示できるようにしたいと考えています。また、デバイスがデータを送信し始めたときも同じですが、デバイスがデータを提供できない場合があります。Form2 を再度表示する必要があることを、その時点でどのように知ることができますか?
これは説明が少し複雑です。
これが私がこれまでに行ったことです。したがって、Form1 が読み込まれると、基本的に信号が表示されるのを待っていることを示す Form2 画面が表示されます。これをある種のループまたはそのようなものに入れ、イベントハンドラーがトリガーされることを常にチェックし、その間にこのフォーム2を表示するにはどうすればよいですか。
さらに説明が必要な場合はお知らせください。
コードは次のとおりです。
private void Form1_Load(object sender, EventArgs e)
{
//open the com port when loading form
comport.Open();
Form2 my_form2 = new Form2();
my_form2.ShowDialog();
}
これは、GPS 信号のイベント ハンドラーです。
GPS.PositionReceived += new NmeaInterpreter.PositionReceivedEventHandler(GPS_PositionReceived);
これが GPS 機能です。
private void GPS_PositionReceived(string Lat, string Lon)
{
arrLon = Lon.Split(new char[] { '°', '"' }, StringSplitOptions.RemoveEmptyEntries);
dblLon = double.Parse(arrLon[0]) + double.Parse(arrLon[1], new System.Globalization.NumberFormatInfo()) / 60;
deciLon = arrLon[2] == "E" ? dblLon : -dblLon;
//some more code
}