私はコミュニティからの助けを本当に感謝しています。私はプログラマーのブロックに苦しんでおり、多くの点で問題を解決しようとしています。TabControl内のすべてのボタンを無効にする方法
私ははるかに大きいプロジェクトのデモ(モックアップ)を作成し、一時的にそれをここに保存されています Demo of the issue
を何が起こっている: 4スルー私はExeggcute
ボタンを押した場合、ボタン1が(TabPage1
でおよびTabPage2
)は無効になり、TabPage
も無効になります。どうするか
: 私はExeggcute
ボタンを押した場合は、(TabPage1
とTabPage2
で)4スルーボタン1が大文字に変更する必要があります。ただし、この変更はボタンにのみ影響し、タブページのタイトルには影響しません。ボタンは概念の証明のように無効になっています。目標は実際にテキストをすべて大文字にすることです。
これは私が使用していますコードです:
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
は 'TabControlのThen'です - あなたはボタンをいじるしたい場合は、これはあなたのコードは' Button's –
反復のボタンに影響を与えることはできません。もし 'TypeOf ...'コード – Plutonix
が 'ctl.Controls'コレクションをループしていて、フォームの' Controls'コレクションではなく 'loop'がループしているはずです。 –