私は、いくつかのタブが表示されるのに十分なタブを持つWinForm TabControlを<>ボタンを使って持っています。TabControl Tab表示にScollを表示
もう1つのアクションとして、最後に表示されたタブをクリックすると、タブが左にスクロールしてそのタブと次のタブが表示されます。しかし、これはうまく動作しますが、最初の(左端に表示される)タブをクリックすると、反対の動作は起こりません。予想されるアクションは、コントロールがクリックされたタブとその前のタブを自動的に表示することです。
TabPageのタブが表示されているかどうかを確認したり、TabPageのタブを画面上にスクロールするために使用できるイベントやメソッドはありますか?ここで
は、いくつかの研究のコードです:
Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
If mbFormLoad Then Exit Sub
Dim t As TabPage = TabControl1.SelectedTab
Debug.Print(t.Name)
Debug.Print("CanFocus:" & TabControl1.TabPages(0).CanFocus)
Debug.Print("CanSelect:" & TabControl1.TabPages(0).CanSelect)
Debug.Print("IsAccessible:" & TabControl1.TabPages(0).IsAccessible)
' works but causes screen noise
If TabControl1.SelectedTab.TabIndex > 0 Then
mbFormLoad = True
TabControl1.SuspendLayout()
TabControl1.SelectedIndex = TabControl1.SelectedTab.TabIndex - 1
TabControl1.SelectedIndex = TabControl1.SelectedTab.TabIndex + 1
TabControl1.ResumeLayout()
mbFormLoad = False
End If
End Sub
印刷されたすべてのプロパティはfalseを返します。
いくつかのタブを持つtabcontrolを追加してテストするには、フォームを表示し、右端に<>ボタンが表示され、最初のタブがスクロールして見えなくなります。