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

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

[VB.NET] การสร้างเหตุการณ์เดียวกันให้กับปุ่มคำสั่ง (Button) แบบหลายตัว

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

252

กระทู้

367

โพสต์

3064

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
3064



เนื่องจาก VB.NET ไม่มี Index ให้ใช้งานกับ Control ต่างๆ จึงทำให้ต้องประกาศเหตุการณ์ที่ทำซ้ำๆกันตลอด เรามีทางแก้ปัญหาได้ด้วยการนำเอา List ของ Control มาใช้งานแทน ...


หน้าจอออกแบบปุ่มคำสั่ง (Button)

มาดูโค้ดกันเถอะ ...

  1. Public Class Form1

  2.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  3.         Dim myButtons As List(Of Button) = New List(Of Button)
  4.         myButtons.AddRange({Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8, Button9, Button10})
  5.         '// OR
  6.         'myButtons.Add(Button1)
  7.         'myButtons.Add(Button2)
  8.         ' ...................................
  9.         'myButtons.Add(Button10)
  10.         Dim i As Byte = 0
  11.         For Each btn In myButtons
  12.             With btn
  13.                 .Text = i + 1
  14.                 .Tag = i
  15.             End With
  16.             '// Force events handler.
  17.             AddHandler myButtons(i).Click, AddressOf ClickButton
  18.             i += 1
  19.         Next

  20.     End Sub

  21.     '// Click Button event, get the text of button
  22.     Public Sub ClickButton(ByVal sender As Object, ByVal e As System.EventArgs)
  23.         Dim btn As Button = sender
  24.         MessageBox.Show("คุณคลิ๊ก [" + btn.Text + "]" & vbCrLf & "Tag=" & btn.Tag)
  25.     End Sub

  26. End Class
คัดลอกไปที่คลิปบอร์ด


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

0

กระทู้

6

โพสต์

16

เครดิต

Newbie

Rank: 1

เครดิต
16
โพสต์ 2020-8-6 09:23:49 | ดูโพสต์ทั้งหมด

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

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

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

GMT+7, 2020-9-19 17:15 , Processed in 0.248591 second(s), 4 queries , File On.

Powered by Discuz! X3.3 R20170401, Rev.54

© 2001-2017 Comsenz Inc.

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