두 개의 TabPage가있는 TabControl이 있는데 현재 어떤 탭이 표시되는지 테스트하는 가장 좋은 방법은 무엇입니까? 나는이 일을 알아낼 수없는 이유를 나는 이것이 WPF 응용 프로그램입니다 가정VB.net에서 어떤 탭이 선택되었는지 테스트하는 방법 TabControl
답변
는 각 TabItem에이 이름이 있는지 확인 ... 모르겠어요.
다음은 점검의 문제입니다.
if tabItem1.IsSelected = true then
' Do Something
else if tabItem2.IsSelected = true then
' Do Something
end if
TabControl.SelectedTab.
여기 the link입니다. 당신은 닷넷 3.5을 사용하는 경우 원하는 경우
, 당신은 확장 메서드로에 isSelected 방법을 만들 수 있습니다
Public Module TabControlExtensions
<Extension()> _
Public Function IsSelected(ByVal tabPage As TabPage) As Boolean
Dim tabControl = CType(tabPage.Parent, TabControl)
Return (tabControl.SelectedTab Is tabPage)
End Function
End Module
Private Sub TabControl_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl.SelectedIndexChanged
If TabControl.SelectedTab Is tabMyTab Then
' do whatever...
End If
End Sub
가까운 양식 이벤트를 제어 할 수있게 도와주었습니다! – fedeteka
또한 다음을 수행 할 수
Dim TabName As String
TabName = YourTabControl.SelectedTab.Name
If TabName.Contains("YourTabName") Then
' Do something
End If
사용하는 탭의 "ENTER EVENT" 예. 두 번째 등급 |
Private Sub TabName_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabName.Enter
MsgBox("me the tab selected")
'or do whattever u like
End Sub
이 다음 각 탭
첫 번째 등급의 함수가있을 것입니다 선택하면 탭의 각을 수정하는 방법입니다
..이 시도 |
Private Sub TabControlAction(ByVal sender As Object, ByVal e As System.EventArgs) Handles nameoftab.Click
If nameoftab.SelectedTab.Text = "Second Grading" Then
Msgbox("Second Grading is Selected")
''Place whatever your want
Else
Msgbox("First Grading is Selected")
''Place whatever your want
End If
End Sub
당신이 생각하는 경우 ELSEIF 다른 문을 사용할 수 있습니다.
이 찾기는 저에게 효과적입니다.
TabPages 컬렉션 편집기를 사용하여 각 탭마다 "태그"속성을 설정해보십시오. 탭 순서를 나타내는 숫자로 각 태그를 설정
Private Sub TabControl1_Click(sender As Object, e As System.EventArgs) Handles TabControl1.Click
Dim ActiveTabNumber as Integer = TabControl1.SelectedTab.Tag
End Sub
TabControl1_Click:
If TabControl1.SelectedIndex = 0 Then
' Do Something
ElseIf TabControl1.SelectedIndex = 1 Then
' Do Something
End If
End Sub
안녕하세요, 스택 오버플로에 오신 것을 환영합니다! 좋은 대답처럼 보입니다. 잘하면 OP 문제를 멋지게 해결합니다. (저는 잘 모릅니다. 저는 VB 프로그래머가 아닙니다) ... 저는 방금 여러분의 대답을 확장하고 어떻게/왜 그것이 문제를 해결하는지. 우리는 많은 초보자 나 프로그래밍에 뛰어나지 만이 언어가 아닌 사람들을 얻습니다 ... 그리고 약간의 설명은 코드 스 니펫을 더 잘 이해하고 도움을 얻을 수 있습니다. –
그래, 내가 그것을 어떻게 파악 된 방법입니다하지만 회원에 isSelected를 호출하거나 선정있다 (1 또는 0 또는 무엇이든 시작이 맞게) , 당신이 SelectedTab을 사용하는 것 같아요, 좀 못생긴지만 작동합니다. –
이 작업을 조금 더 진행하면 IsSelected는 WPF TabItem 클래스에서만 사용할 수 있습니다. WinForms 하나 IsSelected 속성을 지원하지 않습니다. –