visualstudio2017 C#
受け取ったstringをfloatに変換出来なかったらそのまま表示、
変換できて0-5999なら100で割って表示のコードです。
richTextox1.text = rcvmsg;で
System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成
されたスレッド以外のスレッドからコントロール 'richTextBox1' がアクセスされました。'
が発生します。
ブレークで止めると直前のrcvmsg = AG.ToString("F2");には0を受けっとって、100で割って
小数点をつけた"0.00"が入っているのは確認しています。
皆さんにはエラーメッセージで即解決策が浮かぶのかもしれませんが、私にはわかりません。
よろしくお願いします。
visualstudio2017
1 public void jusin(string rcvmsg) 2 { 3 float AG = 0; 4 5 if (!float.TryParse(rcvmsg, out AG)) 6 { 7 richTextBox1.Text = rcvmsg; 8 label6.Text = ""; 9 } 10 11 else if(0<=AG&&AG<6000) 12 { 13 //float AG = int.Parse(rcvMsg); 14 AG = AG / 100; 15 rcvmsg = AG.ToString("F2") 16 richTextBox1.Text = rcvmsg; //ここでSystem.InvalidOperationException発生 17 } 18 else 19 { 20 richTextBox1.Text = "-----"; 21 } 22 23 }
回答3件
あなたの回答
tips
プレビュー