Tuesday, March 20, 2007

關於ComboBox(Part2)

現在來談談看起來簡單,作起來困難的ComboBox技巧

Part2:
ComboBox選擇完成之後,要依照選擇的項目,修改ComboBox的文字
如下拉選單選[1.20070531 測試測試]
選完之後只顯現[測試測試]就好

Ans 2:
看來簡單的問題德瑞克卻搞好久
各位也許會說:
不就只需要在ComboBox的SelectedIndexChanged事件裡面
修改ComboBox的Text就好了嗎?

如果只是這樣的話
ComboBox的文字是一動也不會動的
德瑞克只好把腦筋動到Windows API上面

1.首先在Form上面加上參考
Imports System.Runtime.InteropServices
Imports System.Threading

2.將SetWindowText這個API加進來
Public Shared Sub SetWindowText(ByVal Handle As Integer, ByVal s As String)

3.在ComboBox的SelectedIndexChanged事件裡面開啟另外一個執行緒
去修改ComboBox的文字內容
在此要注意
我們須多加上
Control.CheckForIllegalCrossThreadCalls = False
讓UI可以被其他執行緒更改其值
不然會發生錯誤
執行緒的程式有些小複雜
我還是把整個程式Post出來
讓有興趣的人研究
如果您有更簡單的解決方法也請不吝告知

No comments: