作者hogiking (***ˋ(  ̄▽ ̄)ˊ***)
看板C_Sharp
標題[問題] Textbox 顯示mcu端回傳值
時間Wed May 22 12:11:22 2013
這是自己參考microchip的範例的練習
主要功能是
1.拖動Trackbar後textbox1.text會顯示trackbar的值
2.然後同時也會傳給mcu在mcu的lcd上面顯示
3.mcu端有個 rotary encoder ,順時逆時針選轉一刻度也會讓lcd的值增減,
4.同時也會讓gui端的trackbar/text同時變化
目前123都已完成
卡在第4
目前已確認
int A = INBuffer[6]
string ss = INBuffer[6].ToString();
System.Diagnostics.Debug.Print(ss);
ss 確實有寫入資料
但是丟進去textbox卻完全沒有反應
想請問要怎樣解決
--
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄
▄▄
▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄
▄▄
▄▄▄▄▄▄
▄▄▄▄▄▄
▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄
▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.68.71.35
1F:推 KanoLoa:真的有傳到的話,強制更新元件看看 textbox.update() 05/22 13:12
GUI端確實有回收到值 Debug.Print輸出的資料就是原先寫在MCU的東西
textBox1.Text = A.ToString();
但這行就完全不會過了
A first chance exception of type 'System.InvalidOperationException'
occurred in System.Windows.Forms.dll
※ 編輯: hogiking 來自: 210.68.71.35 (05/22 13:34)
2F:→ hogiking:或是是否有直接輸出數字的方法而不用轉字串 05/22 14:27
3F:→ KanoLoa:textbox1.Text = ss ; 這樣也一樣? 05/22 14:45
4F:→ hogiking:恩 一樣 試過了 在想是不是Textbox只能當事件觸發後 05/22 14:49
5F:→ hogiking:才能動作(ex:button) 05/22 14:49
6F:→ hogiking:目前正用很沒效率的方法處理中= = 不過我想應該不是正解 05/22 14:58
7F:→ elba:建立TextBox和更新TextBox是在同一個執行緒嗎 05/22 15:05
這我不確定是不是
這程式主要是只要判定USB有連到MCU 就會一直送值/MCU回傳
我改動內部資料完成一次傳輸後 又回到無線迴圈等待下次傳輸這樣
Textbox的生成 主要是當trackbar_scroll事件發生時才會給值
變動則是我想加在接收的時候把值取出來
目前用了一個遠路在做 額外設一個button/textbox2
把收到的值送到Textbox2輸出後 再賦值給Textbox1
Textbox11也是在收到職後同步給Textbox2 來偽裝同步的效果...
目前在想辦法怎樣讓Button一直被處發
※ 編輯: hogiking 來自: 210.68.71.35 (05/22 15:20)
8F:推 KanoLoa:你如果用UI事件的執行緒又不釋放,會卡死不更新畫面喔。 05/22 15:18
9F:→ elba:看TextBox.InvokeRequired是不是true 05/22 16:00
10F:→ elba:如果是的話表示要透過TextBox.Invoke去更新 05/22 16:01