ผู้เขียน หัวข้อ: [VB.Net] โค้ดการสร้างทูลบาร์ (ToolBar) และใส่ไอคอนบนปุ่ม (Button) แบบ Run Time  (อ่าน 244 ครั้ง)

ออฟไลน์ ทองก้อน ทับทิมกรอบ

  • Administrator
  • *****
  • กระทู้: 245
  • เพศ: ชาย
  • Webmaster G2GNet
[VB.Net] โค้ดการสร้างทูลบาร์ (ToolBar) และใส่ไอคอนบนปุ่ม (Button) แบบ Run Time

เนื่องจากต้องหยุดเหล้าไปด้วยเรื่องของสุขภาพ ก็เลยเริ่มเก็บเวล VB.Net มาอย่างต่อเนื่อง ... โค้ดตัวนี้ก็เช่นเคย คือนำเอาหลักการของ VB6 มาใช้กับ VB.Net ได้เหมือนกัน (ลองกลับไปขุดงาน VB6 เก่าๆของผมดูก็จะรู้เองครับ) และที่เลือกเอา ToolBar มาสร้างแบบ Run Time ให้รับชมกัน นอกจากจะมีความยืดหยุ่นมากกว่าแบบ Design Time แล้ว ก็ยังจะนำไปใช้ในโปรเจคแจกโค้ดฟรีต่อๆไป เพื่อใช้กับงานฐานข้อมูลครับผม เช่น เก็บข้อมูลลูกค้า ข้อมูลสินค้า ข้อมูลนักศึกษา ฯลฯ ก็ล้วนแล้วต้องใช้เมนูหลักแบบนี้ล่ะครับทั่นผู้ชม ...



มาดูโค้ดกันเถอะ
Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    ' Instantiate a ToolBar control.
    Protected MyToolBar As ToolBar

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Me.CenterToScreen()
        Call CreateToolbar()
    End Sub

    Private Sub CreateToolbar()

        MyToolBar = New ToolBar
        With MyToolBar
            .TabIndex = 0
            .Wrappable = False
            .Divider = True
            .DropDownArrows = True
            .ShowToolTips = True
        End With
        ' Add the event handler delegate.
        AddHandler MyToolBar.ButtonClick, AddressOf MyToolBarClicked

        ' Instantiate the toolbar buttons, set their Text properties
        ' and add them to the ToolBar control.

        Dim toolBarButton1 As New ToolBarButton()
        Dim toolBarButton2 As New ToolBarButton()
        Dim toolBarButton3 As New ToolBarButton()
        Dim toolBarButton4 As New ToolBarButton()
        Dim toolBarButton5 As New ToolBarButton()
        ' Set the Text properties of the ToolBarButton controls.
        toolBarButton1.Text = "New"
        toolBarButton2.Text = "Edit"
        toolBarButton3.Text = "Delete"
        toolBarButton4.Text = "Print"
        toolBarButton5.Text = "Exit"
        ' Add the ToolBarButton controls to the ToolBar.
        With MyToolBar
            .Buttons.Add(toolBarButton1)    ' Index = 0
            .Buttons.Add(toolBarButton2)    ' Index = 1
            .Buttons.Add(toolBarButton3)    ' Index = 2
            .Buttons.Add(toolBarButton4)    ' Index = 3
            .Buttons.Add(toolBarButton5)    ' Index = 4
        End With

        ' Create ImageList objects for ToolBar.
        Dim imgTB As New ImageList()
        ' Icon size 48 x 48 Pixel.
        imgTB.ImageSize = New Size(48, 48)
        ' Get owner path ex. C:\My Project\
        Dim strPath As String = MyPath(Application.StartupPath)
        ' Assign an image to the ImageList component.
        Dim imgNew As System.Drawing.Image = Image.FromFile(strPath & "Icons\add.png")
        Dim imgEdit As System.Drawing.Image = Image.FromFile(strPath & "Icons\edit.png")
        Dim imgDelete As System.Drawing.Image = Image.FromFile(strPath & "Icons\delete.png")
        Dim imgPrint As System.Drawing.Image = Image.FromFile(strPath & "Icons\print.png")
        Dim imgExit As System.Drawing.Image = Image.FromFile(strPath & "Icons\exit.png")
        ' Add images into ImageList
        With imgTB
            .Images.Add(imgNew)
            .Images.Add(imgEdit)
            .Images.Add(imgDelete)
            .Images.Add(imgPrint)
            .Images.Add(imgExit)
        End With
        ' Assign an ImageList to the ToolBar.
        MyToolBar.ImageList = imgTB
        ' Assign the ImageIndex property of the ToolBarButton.
        toolBarButton1.ImageIndex = 0
        toolBarButton2.ImageIndex = 1
        toolBarButton3.ImageIndex = 2
        toolBarButton4.ImageIndex = 3
        toolBarButton5.ImageIndex = 4

        ' Add the ToolBar to the Form.
        Controls.Add(MyToolBar)
    End Sub

    ' / Click mouse (Events) and what is to do something (Driven).
    Private Sub MyToolBarClicked(ByVal sender As Object, ByVal e As ToolBarButtonClickEventArgs)

        Select Case MyToolBar.Buttons.IndexOf(e.Button)
            Case 0
                MessageBox.Show("Add Data.")
            Case 1
                MessageBox.Show("Edit Data.")
            Case 2
                MessageBox.Show("Delete data.")
            Case 3
                MessageBox.Show("Print data.")
            Case 4
                ' Close form
                Application.Exit()
        End Select
    End Sub

    ' / Get Path my project.
    ' / Ex.
    ' / AppPath = C:\My Project\bin\debug
    ' / Replace "\bin\debug" with "\"
    ' / Return : C:\My Project\

    Function MyPath(AppPath As String) As String
        '/ MessageBox.Show(AppPath)
        AppPath = AppPath.ToLower()
        MyPath = AppPath.Replace("\bin\debug", "\")
    End Function
End Class

ดาวน์โหลดโค้ดต้นฉบับ VB.Net (2010) ได้ที่นี่

บันทึกการเข้า
สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

ออฟไลน์ Mr.Den

  • Jr. Member
  • **
  • กระทู้: 73
  • เพศ: ชาย
thank you very มากๆๆ ครับ อาจารย์

บันทึกการเข้า

ออฟไลน์ naien

  • Newbie
  • *
  • กระทู้: 36
ขอบคุณครับ

บันทึกการเข้า