2016-07-12 113 views
0

基本上我目前正試圖創造一項轉讓的Visual Basic的訂貨計劃,我想知道是否有可能隱藏標籤控件在頁面的頂部而是讓用戶通過按下按鈕來更改選項卡。我已經知道如何創建更改頁面的按鈕,但我無法弄清楚如何隱藏選項卡選擇器。如何隱藏選項卡控制選項卡選擇在Visual Basic中

一個例子是用戶輸入他們的詳細信息後,他們會點擊下一個,然後它會把他們帶到付款屏幕。

請記住我是一個絕對的初學者,所以我可能需要一些額外的解釋

+0

舊的winforms技巧:設置'TabControl.Alignment = Right'。然後設置''的的Form' Width'隱藏的''TabPages' – Fabio

+0

熱門選項的標頭:通過將它們從屏幕的邊緣1)隱藏它們,或2)把一個空白圖片/文本/標籤控制在話語上。 3)使用不同的控件,如面板或組框。這些看起來是否合理? – tgolisch

+0

@ tgolisch:4)其實隱藏它們? :) –

回答

0

這是做它的dumest方式,但它的工作原理:

Private Sub Form1_Load_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim pic As New PictureBox 
    pic.BackColor = Color.Transparent 
    pic.Width = TabControl1.Width 
    pic.Height = 21 
    pic.Location = TabControl1.Location 
    Me.Controls.Add(pic) 
    pic.BringToFront() 
End Sub 

這消除了上線TabControl的。如果你想使用它:

Private Sub Form1_Load_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim pic1 As New PictureBox 
    Dim pic2 As New PictureBox 
    pic1.BackColor = Color.Transparent 
    pic1.Width = TabControl1.Width 
    pic1.Height = 21 
    pic1.Location = TabControl1.Location 
    Me.Controls.Add(pic1) 
    pic1.BringToFront() 
    pic2.BackColor = Color.Gray 
    pic2.Width = TabControl1.Width - 2 
    pic2.Height = 1 
    pic2.Location = New Point(TabControl1.Location.X, TabControl1.Location.Y + 20) 
    Me.Controls.Add(pic2) 
    pic2.BringToFront() 
End Sub 

用您的選項卡控件名稱替換TabControl1

1

你可以創造一個你重寫WndProc和陷阱TCM_ADJUSTRECT消息自定義控件:

Public Class CustomTabControl 
    Inherits TabControl 

    Const TCM_ADJUSTRECT As Integer = &H1328 

    Protected Overrides Sub WndProc(ByRef message As Message) 
     If DesignMode = False AndAlso message.Msg = TCM_ADJUSTRECT Then 
      message.Result = New IntPtr(1) 'Always return 1. 
      Return 
     End If 

     MyBase.WndProc(message) 
    End Sub 
End Class 

通過Build > Build <your project name here>菜單中生成項目,那麼你就可以將其從工具箱中添加。

相關問題