ว่าด้วยเรื่องของการเขียนโปรแกรม แน่นอนว่ามันก็เป็นได้ในหลายรูปแบบหลายทิศทาง หลายเครื่องมือ หลายภาษา 😵
มันก็แน่นอนอยู่แล้วว่า ขึ้นอยู่กับบุคคลว่าถนัดอะไร จะใช้อย่างไรให้เหมาะ ซึ่งก็แล้วแต่งานแล้วแต่คนละ
เอาเป็นว่าสำหรับผมถนัดมากที่สุดก็คงเป็น VB.net นี้ละก็เล่นใช้ตัวนี้ทำมาหากินมาที่สุดละนะ ซึ่งบทความนี้ก็ตั้งใจจะรวบรวม Code ต่างๆ ที่ได้ประสบพบเจอมา เอาไว้ละกัน
เอาละมีไรบ้างนะ 😀
1. Addhandler Object As Event, Object As Delegate
มันคืออะไรหว่า? 😶
เอางี้ละกันหากเราทำโปรแกรม แล้วมีปุ่มสัก 100 ปุ่ม (ความจริงมันคงไม่เยอะขนาดนั้นหรอกมั้ง...) เวลาเขียน Code เพื่อจะให้ปุ่มนัั้นทำในสิ่งที่เราต้องการ เอาง่ายๆละกัน Event Click แน่นอนเลยว่าที่เรียนๆ กันมาก็คือ ดับเบิ้ลคลิกที่ปุ่มไปโลด จากนั้นก็ก้มหน้าก้มตา เขียนอะไรที่ต้องการให้เป็นลงใน Event นั้นเลย
Private Sub tsbtn_01_Click(sender As System.Object, e As System.EventArgs) Handles tsbtn_01.Click
TextBox01.Text = "1"
End Sub
Private Sub tsbtn_02_Click(sender As System.Object, e As System.EventArgs) Handles tsbtn_02.Click
TextBox01.Text = "2"
End Sub
.
.
.
Private Sub tsbtn_100_Click(sender As System.Object, e As System.EventArgs) Handles tsbtn_100.Click
TextBox01.Text = "100"
End Sub
----- คิดขึ้นได้ อ้าวเฮ้ย!!! มันผิดนี้หว่า มันต้อง TextBox02 😱😱😱 ตายละมีตั้ง 100 ปุ่มตามแก้กันบานเลย HELP ME PLEASE....
เอาละมาเขียนใหม่ละกัน โดยใช้ Addhandler Object As Event, Object As Delegate
มันจะออกมาอย่างไงนะ
'ใส่ตรง Event Form_Load
AddHandler Me.tsbtn_01.Click, AddressOf BTN_Click
AddHandler Me.tsbtn_02.Click, AddressOf BTN_Click
.
.
AddHandler Me.tsbtn_100.Click, AddressOf BTN_Click
----------------------------------------------------------------------------------------------------------------------
Private Sub BTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim _Charector As String
Dim _btn As Button
_btn = DirectCast(sender, Button)
Select Case _btn.Name
Case "tsbtn_01":_Charector ="1"
Case "tsbtn_02":_Charector ="2"
.
.
Case "tsbtn_100":_Charector ="100"
End Select
TextBox02.Text =_Charector
End Sub
😆 แบบนี้คงดีกว่าเนอะ จะแก้อะไรในปุ่ม ก็ที่เดียวเลย หรืออยากจะเพิ่มปุ่มก็ ยัดข้างบนไปโลด
**** นิดหนึ่ง
Dim _btn As Button
_btn = DirectCast(sender, Button)
บางคนอาจใช้เป็น
_btn = Ctype(sender, Button)
ถามว่าใช้ได้ไหม ตอบเลย ใช้ได้เหมือนกันแหละ แต่ DirectCast() จะเคร่งครัดในการเปลี่ยนแปลงชนิดมากกว่า CType()
Dim _value1 As Interger = DirectCast("1",Interger) 'อันนี้ Compile บ่ผ่านแน่นอน
Dim _value1 As Integer = CType("1", Integer)
-------- เอาละผ่านไปหนึ่งเรื่อง แล้วพบกันใหม่ในบทความต่อไปเน้อ😎
วันอังคารที่ 22 สิงหาคม พ.ศ. 2560
VB.NET Code#1 Addhandler Object As Event, Object As Delegate
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น