การสร้าง Event Handler ระหว่าง XAML (Silverlight,WP) กับภาษา VB.NET และ C# (.NET) |
การสร้าง Event Handler ระหว่าง XAML (Silverlight) กับภาษา VB.NET และ C# (.NET) การสร้าง Application บน Windows Phone จะมีความสะดวกและง่ายในการสร้าง Event เป็นอย่างมาก ยิ่งถ้าได้ใช้ Tools ของ Visual Studio ด้วย แค่ทำการคลิกที่ Control เลือก Properties ก็สามารถที่จะสร้าง Event Handler เพื่อควบคุมเหตุการณ์ต่าง ๆ ที่ ผู้ใช้ได้กระทำบนหน้าจอของ Application ได้โดยไม่ยาก
Event Handler บน VB.NET
แบบที่ 1
<Button Content="Submit" Margin="148,213,0,0" Name="btnSubmit" />
Private Sub btnSubmit_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles btnSubmit.Click
End Sub
แบบที่ 2
<Button Content="Submit" Margin="148,213,0,0" Name="btnSubmit" Click="btnSubmit_Click" />
Private Sub btnSubmit_Click(sender As Object, e As System.Windows.RoutedEventArgs)
End Sub
Event Handler บน C#
<Button Content="Submit" Margin="148,213,0,0" Name="btnSubmit" Click="btnSubmit_Click" />
private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
}
หรือจะสร้าง Event Handler จาก Code Behind
VB.NET
' Constructor
Public Sub New()
InitializeComponent()
AddHandler btnSubmit.Click, AddressOf Me.btnSubmit_Click
End Sub
Private Sub btnSubmit_Click(sender As Object, e As System.Windows.RoutedEventArgs)
End Sub
C#
// Constructor
public MainPage()
{
InitializeComponent();
btnSubmit.Click += this.btnSubmit_Click;
}
private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
}
การเลือกสร้าง Event จะเห็นว่าสามารถสร้างได้หลากหลายรูปแบบ ขึ้นอยู่กับความถนัดและสะดวกของแต่ล่ะคน ซึ่งการสร้าง Event เหล่านี้สุดท้ายแล้วจะได้ผลลัพธ์ที่เหมือนกัน และไม่มีผลต่อ Performance ของโปรแกรมแต่อย่างใด
มุมมอง Graphic GUI
ในหน้า Application Page ของ Windows Phone
การสร้าง Event สามารถคลิกที่ Control นั้น ๆ
แล้วไปที่ Properties -> Event -> และคลิกที่ Event ที่ต้องการสร้าง
หรือในมุมมองของ Code ที่เป็น VB.NET สามารถคลิกที่ Control ซึ่งจะอยู่ในรายการซ้ายมือ พร้อมกับ Event ที่อยู่ในขวามือ
เป็น Code Event Handler ที่ถูก Generate ขึ้น
โครงสร้างของภาษา VB.NET และ C# หลัก ๆ แล้วจะทำงานไม่ต่างกัน เพียงแค่แตกต่างในภาษาที่เขียนเท่านั้น แต่โครงสร้างพื้นฐาน การเรียกใช้ Class หรือ Library ต่าง ๆ จะยังคงเหมือนกัน เพระาฉะนั้น ถ้าเราเขียนด้วย VB.NET หรือ C# เราสามารถทำการหา Tools ที่สามารถแปลง Code กลับไปกลับมาระหว่าง VB.NET และ C# ได้โดยใช้ Tools ฟรีที่อยู่ใน Internet หรือไม่ลองค้นหาคำว่า Convert VB.NET to C# หรือ Convert C# to VB.NET
เปรียบเทียบ VB.NET กับ C#
VB.NET
Partial Public Class MainPage
Inherits PhoneApplicationPage
' Constructor
Public Sub New()
InitializeComponent()
End Sub
Private Sub btnSubmit_Click(sender As Object, e As System.Windows.RoutedEventArgs)
Me.txtResult.Text = "Sawatdee Khun " & Me.txtName.Text.ToString()
End Sub
End Class
C#
namespace PhoneAppCS
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
this.txtResult.Text = "Sawatdee Khun " + this.txtName.Text.ToString();
}
}
}
|