ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 4111|ตอบกลับ: 0

[VB.NET] การใส่ปุ่มคำสั่งเข้าไปใน TextBox หรือที่เราเรียกว่า SearchBox (VB2010)

[คัดลอกลิงก์]

308

กระทู้

498

โพสต์

5973

เครดิต

ผู้ดูแลระบบ

ทองก้อน ทับทิมกรอบ

Rank: 9Rank: 9Rank: 9

เครดิต
5973


สำหรับ VB.NET รุ่น 2010 จะไม่มี Control แบบที่ช่อง TextBox จะมีปุ่มคำสั่ง (Button) อยู่ภายใน ... แต่ทว่าเราสามารถสร้าง UserControl ขึ้นมาใช้งานเองก็ได้ แต่นั่นมันดูยุ่งยากเกินไป วันนี้แอดมินจะใช้วิธีการที่เรียกว่า Inherits Function หรือการสืบพันธุ์ เอ้ย สืบทอดในรูปแบบฟังค์ชั่นแทน ...

อันดับแรกก็ต้องสร้างโปรเจคขึ้นมาใหม่ก่อน ... จากนั้นก็ใส่โค้ดตามข้างล่างนี้ในฟอร์มหลัก (Form1)
  1. Public Class Form1
  2.     '//
  3. End Class

  4. Public Class TextBoxButton
  5.     Inherits TextBox

  6.     Public mButton As Button

  7.     Public Property Button As Button
  8.         Get
  9.             Return mButton
  10.         End Get

  11.         Set(value As Button)
  12.             mButton = value
  13.         End Set
  14.     End Property

  15.     Protected Overrides Sub OnCreateControl()
  16.         Me.Controls.Add(Me.mButton)
  17.         Me.mButton.Dock = DockStyle.Right
  18.         MyBase.OnCreateControl()
  19.     End Sub

  20.     Public Sub New()
  21.         MyBase.New()
  22.         mButton = New Button
  23.         '// Properties
  24.         With Me.mButton
  25.             .Width = 20
  26.             .FlatAppearance.BorderSize = 0
  27.             '// If you want to use "Text" properties, You have to change it to "System".
  28.             .FlatStyle = FlatStyle.Popup
  29.             .BackColor = Color.Transparent
  30.             .Cursor = Cursors.Hand
  31.             .Image = My.Resources.Search
  32.             '.Text = "..."
  33.         End With
  34.         '// Event Handler
  35.         AddHandler mButton.Click, AddressOf MyClick
  36.     End Sub

  37.     '// Event/Driven
  38.     Private Sub MyClick(ByVal sender As Object, ByVal e As EventArgs)
  39.         MessageBox.Show("Ohhhh !!! You click me.")
  40.     End Sub

  41.     '// Clean up memory.
  42.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  43.         If disposing Then
  44.             If Not (mButton Is Nothing) Then
  45.                 mButton.Dispose()
  46.             End If
  47.         End If
  48.         MyBase.Dispose(disposing)
  49.     End Sub
  50. End Class
คัดลอกไปที่คลิปบอร์ด

อย่าพึ่งรันครับ เดี๋ยวเราไปใส่รูปเข้ามายัง Resource ก่อน


การเพิ่มรูปภาพ เพื่อนำไปใส่ยังปุ่มคำสั่ง ... โดยเลือกเมนู Project --> ชื่อโปรเจค Properties ...

เลือก Add Existing File จากนั้นก็ทำการ Browse เพื่อหาไฟล์ภาพที่เราต้องการ ...



สำเร็จเสร็จสมบูรณ์ ...


เลือก Build ...



เลือก Form1 ให้ดูที่กลุ่มเครื่องมือ ToolBox ก็จะปรากฏ Control ตัวใหม่ขึ้นมา ...

ก็จัดการจับลากมาวางบนฟอร์มได้เลยทันที หรือดับเบิ้ลคลิ๊กเบาๆ 1 ทีพอครับ ...


จบแต่เพียงเท่านี้แหละครับ ... ดาวน์โหลดโค้ดฉบับเต็ม VB.NET (2010) ได้ที่นี่ ...




ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

x
สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2024-3-29 22:37 , Processed in 0.165505 second(s), 4 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้