2010-07-18 2 views
1

나는 몇 시간 동안 인터넷 검색, 테스트 등을 해왔으며 지금부터 시작했습니다. vb.net 탭 컨트롤을 짜증나게 ... 누군가가 팁이나 코드를 만들 수 있도록 탭을 선택할 때 글꼴 색이 바뀌거나 탭 제목 텍스트가 굵게 표시됩니까?vb.net - 선택한 탭 글꼴 (굵게 표시) 또는 색상을 변경하십시오.

나는 그리기 명령을 엉망으로 만든다. 그리고 그것이 작동하는 동안 테두리/배경을 그려서 매우 오래된/구식이되도록 만들었다.

기본적으로 컨트롤의 텍스트 상자가 변경되면 관련 탭을 빨간색 글꼴로 업데이트하거나 해당 탭의 텍스트 상자가 수정되었음을 나타 내기 위해 굵게 표시 할 수있는 간단한 탭 텍스트 편집기를 사용합니다.

나는 확실히만큼 그들은 무료로 다른 탭 컨트롤에 대한 개방과 vb.net 예 : 이것은 vb.net에

2008

+0

이 Winforms, ASP, AjaxControlToolkit, WPF 또는 다른 제품입니까? 너무 많은 다른 탭 컨트롤에 대해 이야기 할 수 있습니다 ... – mattmc3

+0

미안 해요, 그것에 대해 Winforms (그것은 Windows 응용 프로그램) – Joe

답변

0

익스프레스 DrawMode의 설정과 함께 왔어요 탭 컨트롤을 OwnerDrawFixed로 설정하고 DrawItem 이벤트에 대한 응답으로 탭을 직접 페인트합니다.

0

TabControl drawmode를 OwnerDrawFixed로 설정하고 DrawItem 이벤트에 대한 응답으로 탭을 그리는 이벤트 핸들러를 만듭니다. 예 :

Private Sub TabControl1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem 
    Dim tabctl As TabControl = DirectCast(sender, TabControl) 
    Dim g As Graphics = e.Graphics 
    Dim font As Font = tabctl.Font 
    Dim brush As New SolidBrush(Color.Black) 
    tabTextArea = RectangleF.op_Implicit(tabctl.GetTabRect(e.Index)) 
    If tabctl.SelectedIndex = e.Index Then 
    font = New Font(font, FontStyle.Bold) 
    brush = New SolidBrush(Color.Red) 
    End If 
    g.DrawString(tabctl.TabPages(e.Index).Text, font, brush, tabTextArea) 
End Sub 
+0

잘 작동하지만 그것은 또한 실제 탭 reskins (그것은 1995 스타일처럼 보이게) 대신 기본 2005 탭 스타일. 텍스트 만 변경하고 실제 탭은 변경하지 않습니까? – Joe

+0

쉽게 알 수없는 옵션은 텍스트에만 영향을 미칩니다. Drawmode가 OwnerDrawFixed로 설정되면 이벤트 처리기가 탭 모양을 담당하며 XP 테마를 사용하는 방법을 알지 못합니다. – fivebob

관련 문제