我真的會從社區獲得一些幫助,我正在遭受程序員的阻礙,並試圖以多種方式解決問題,但無濟於事。如何禁用TabControl中的所有按鈕
我創建了一個更大的項目的演示(樣機),並暫時存放在這裏吧: Demo of the issue
正在發生的事情: 如果我按那麼Exeggcute
扣鈕釦1通4(在TabPage1
和TabPage2
)被禁用,TabPage
也被禁用。
應該發生什麼: 如果我按Exeggcute
按鈕,然後按鈕1直通4(在TabPage1
和TabPage2
)應改爲大寫字母;但是,此更改只應影響按鈕,而不會影響標題頁。這些按鈕只是作爲概念證明而被禁用;目標是實際使他們的文字全部上限。
這是代碼我使用:
ctl.Text = UCase(ctl.Text)
- 這是不行的,爲什麼呢?我需要按鈕以大寫顯示;但是,只有禁用它們的選項有效。爲什麼?在現有的方法
Public Class Form1
Private Sub BtnExeggcute_Click(sender As Object, e As EventArgs) Handles BtnExeggcute.Click
Dim ctl As Control
For i = 0 To Controls.Count - 1
ctl = Controls(i)
If TypeOf ctl Is TabControl Then
For j = 0 To Controls.Count - 1
If TypeOf Controls(j) Is TabControl Then
ctl.Text = UCase(ctl.Text) ' This does not work why? I need the buttons to be shown in uppercase; however, only disabling them works.
ctl.Enabled = False
End If
Next j
End If
Next i
End Sub
End Class
'如果TypeOf運算控制(j)是TabControl的Then' - 這不允許,如果你想用按鈕撥弄你的代碼影響'Button's –
迭代按鈕。使用'ofType'比所有'IfTypeOf ...'代碼 – Plutonix
更容易使用,大概你的'j'循環應該循環遍歷'ctl.Controls'集合而不是表單的'Controls'集合。 –