[.NET] 關於checkbox用副程式寫的問題

作者: lsmking7219 (全部寫出來阿)   2013-10-21 16:37:11
請輸入專案類型(網站專案或者應用程式專案):
2010 Express
想在checkbox打勾的時候,讓textbox可動作,顯示藍色
取消勾選的時候,textbox不可動作,顯示灰色,
但是下面這段程式碼並不會做任何動作,
想請問版上的各位先進哪個部份出了問題:
Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As
System.EventArgs) Handles CheckBox1.CheckedChanged
test(CheckBox1.Checked, TextBox1.Enabled, TextBox1.BackColor)
End Sub
Private Sub test(a As Boolean, b As Boolean, c As Color)
If a = True Then
b = True
c = Color.Blue
ElseIf a = False Then
b = False
c = Color.Gray
End If
End Sub
個人認為可能是副程式的定義上有問題,
但又不知道是哪個地方有問題,
還請指導,非常感謝!
作者: johnpage (johnpage)   0000-00-00 00:00:00
不要用副程式,直接控制
作者: lsmking7219 (全部寫出來阿)   0000-00-00 00:00:00
但是有30多個checkbox要控制,想說用副程式會比較省行數
作者: MOONRAKER (㊣牛鶴鰻毛人)   0000-00-00 00:00:00
Handles後面可以加寫對應多個checkbox事件。
作者: EShensh (蕭易玄)   0000-00-00 00:00:00
你的副程式是傳「值」,不是直接的元件。你還不如在 test 寫個回傳值,在 Checked 事件中直接用TextBox1.Enabled=testEnbl(CheckBox1.Checked) 之類的TextBox1.BackColor=testColor(CheckBox1.Checked)我不太確定 .net 傳值能不能直接傳元件,可以的話直接傳就可以用你的寫法了。不然你對「傳過去的數值」做任何改變,都是沒意義的。
作者: niwat (原來如此)   0000-00-00 00:00:00
副程式, b, c 的部分用byref試試看

Links booklink

Contact Us: admin [ a t ] ucptt.com