Transcript Chapter 3

CHAPTER 5
สร้ าง Application แบบ Windows Form
ด้ วย VB 2010
Windows Form
• การสร้ างแอพพลิเคชันด้ วยฟอร์ มเป็ นพื ้นแล้ วนาคอนโทรล หรื อ
คอมโพเนนต์ชนิดต่าง ๆ ที่อยู่ Toolbox มาวาง จากนันจึ
้ งเขียน
โปรแกรมควบคุมการทางานของคอนโทรลแต่ละตัวเพื่อ
ตอบสนองการทางานรูปแบบต่าง ๆ ที่ต้องการ
Properties ของ Form
MinimizeBox
Text
ControlBox
MaximizeBox
BackColor
Height
Width
SizeGripStyle
Properties ของ Form
ชื่อ
หน้ าที่
ชื่อ
หน้ าที่
Name
ชื่อของฟอร์ ม
MinimizeBox
กาหนดว่าจะมีปมย่
ุ่ อหรื อไม่
Text
ข้ อความแสดงที่แถบด้ านบนของแต่ละ
ฟอร์ ม
MaximizeBox
กาหนดว่าจะมีปมขยายหรื
ุ่
อไม่
ControlBox
กาหนดว่าขณะรันจะแสดง
ControlBox หรื อไม่
Icon
การระบุไอคอนของฟอร์ มเมื่อกดปุ่ มย่อ
ฟอร์ ม
Size
ระบุความกว้ างและความสูงของฟอร์ ม
StartPosition
บอกตาแหน่งของการแสดงผลฟอร์ ม
ตอนเริ่มทางาน
BorderStyle
กาหนดลักษณะขอบของฟอร์ ม
WindowState
กาหนดสถานะของฟอร์ ม
BackColor
สีพื ้นของฟอร์ ม
AutoScaleMode
กาหนดขนาดของคอนโทรลจะมีขนาด
แปรผันตามความละเอียดของโหมดการ
แสดงผลของหน้ าจอเป็ นอย่างไร
ForeColor
สีตวั อักษรที่อยู่บนฟอร์ ม
Language
ระบุภาษาที่ต้องการ
Cursor
เคอร์ เซอร์ ปรากฏเมื่อเมาส์เคลื่อนผ่าน
ฟอร์ ม
SizeGripStyle
การแสดง Grip หรื อขอบมุมล่างขวา
ของฟอร์ มเพื่อปรับขนาดของฟอร์ ม
Method ของ Form
ชื่อ
Show
หน้ าที่
เมธอดที่เรี ยกฟอร์ มขึ ้นมาแสดงผลมีผลเช่นเดียวกับการกาหนด Properties : Visible
= True
ShowDialog
สาหรับเรี ยกฟอร์ มมาแสดงผลแบบไดอะล็อก คือ ต้ องคลิกปิ ดฟอร์ มนี ้ก่อนจึงจะไปทางานหน้ าต่าง
อื่น ๆ ได้
Hide
สาหรับซ่อนฟอร์ ม(กรณีแอพพลิเคชัน่ หนึง่ ๆ มีหลายฟอร์ ม)
Close
ปิ ดฟอร์ ม
SetDesktopLocation
กาหนดตาแหน่งพิกดั ที่ฟอร์ มจะแสดงบนหน้ าจอ
Activate
สาหรับเรี ยกฟอร์ มขึ ้นมา กรณีที่ถกู ฟอร์ มอื่น ๆ บังไว้ ทับไว้ ถกู แสดงออกมาอยู่บนสุด
Event ของ Form
ชื่อ
หน้ าที่
Load
จะเกิดขึ ้นเมื่อฟอร์ มถูกเรี ยกขึ ้นมาทางาน จะเกิดหลังอีเวนต์ Initialize
Resize
จะเกิดขึ ้นเมื่อฟอร์ มถูกปรับขนาดเปลีย่ นไป
ResizeBegin
จะเกิดขึ ้นเมื่อฟอร์ มเริ่มปรับขนาด
ResizeEnd
จะเกิดขึ ้นเมื่อฟอร์ มปรับขนาดเสร็จแล้ ว
SizeChanged
จะเกิดขึ ้นเมื่อฟอร์ มถูกปรับขนาด
Unload
จะเกิดขึ ้นเมื่อฟอร์ มเลิกใช้ งาน
Activated
จะเกิดขึ ้นเมื่อฟอร์ ม Activate
Click
จะเกิดขึ ้นเมื่อคลิกลงไปบนพื ้นฟอร์ ม
ตัวอย่ างการสร้ างแอพพลิเคชันด้ วยฟอร์ ม
เขียนโค้ ดกากับการทางาน
กาหนดค่าเริ่มต้ นเมื่อฟอร์ มเริ่มทางาน(Event:
Load)
Private Sub btnFormText_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnFormText.Click
Me.Text = txtFormText.Text
End Sub
หมายถึงสรรพนามแทนฟอร์ มที่กาลังทางานปั จจุบนั
จัดการกับเหตุการณ์ที่คลิกปุ่ มเปลี่ยน Text (Event :Click)
Me
เขียนโค้ ดกากับการทางาน
Private Sub btnBackColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnBackColor.Click
radWhite.Enabled = True
เมื่อคลิกปุ่ มเปลี่ยนสีอนุญาตคอนโทรล
radBlue.Enabled = True
RadioButton พร้ อมทางาน (Event : Click)
radDefault.Enabled = True
End Sub
Private Sub radWhite_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
radWhite.CheckedChanged
Me.BackColor = Color.White
Me.Text = "สีพืน้ ของฟอร์ มขณะนีค้ ือ " & Me.BackColor.ToString
End Sub
Private Sub radBlue_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
radBlue.CheckedChanged
Me.BackColor = Color.Blue
Me.Text = "สีพืน้ ของฟอร์ มขณะนีค้ ือ " & Me.BackColor.ToString
End Sub
Private Sub radDefault_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
radDefault.CheckedChanged
Me.BackColor = SystemColors.Control
Me.Text = "สีพืน้ ของฟอร์ มขณะนีค้ ือ " & Me.BackColor.ToString
End Sub
โค้ ดส่วนนี ้หมายถึง เมื่อคลิกเลือกปุ่ มสี พื ้นฟอร์ มจะเปลี่ยนสีตามต้ องการพร้ อมแสดง
ชื่อสีที่เลือกบนแถบข้ อความ (Event : CheckedChanged ของ RadioButton)
เขียนโค้ ดกากับการทางาน
Private Sub btnEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnEnd.Click
Me.Close()
เมื่อคลิกปุ่ มจบการทางานจะปิ ดการทางาน
End Sub
ของฟอร์ ม (Event : Click)
การทางานด้ วย MessageBox
• การโต้ ตอบกับผู้ใช้ งานด้ วย MessageBox เพื่อบอกข้ อมูลหรื อต้ องการให้ ผ้ ใู ช้
เลือกกระทาอย่างใดอย่างหนึง่ เช่น ยืนยันการปิ ดโปรแกรม หรื อการเตือนผู้ใช้ เมื่อ
เกิดเหตุการณ์ที่ผิดพลาดเป็ นต้ น
• การเรี ยกใช้ ออบเจ็กต์ MessageBox จะเรี ยกใช้ งานผ่านเมธอด Show
ดังรูปแบบคาสัง่ ดังนี ้
Messagebox.Show(Text [,Caption [,Buttons] [,Icon] [,DefaultButton])
ตัวอย่ างการเขียน MessageBox
ส่ วนประกอบของ MessageBox
Caption
Icon
DefaultButton
Text
Buttons
พารามิเตอร์ ต่าง ๆ ของเมธอด Show มีดังนี ้
ชื่อพารามิเตอร์
หน้ าที่
Text
เป็ นข้ อความที่ปรากฏใน MessageBox จะเป็ นข้ อความที่ต้องการบอกแก่ผ้ ใู ช้ งาน
Caption
เป็ นข้ อความบนแถบด้ านบนของ MessageBox
Buttons
เป็ นปุ่ มที่จะห้ ผ้ ใู ช้ งานเลือกกระทาหลังจากอ่านข้ อความแล้ ว
Icon
เป็ นไอคอนที่แสดงประกอบกับข้ อความ (แสดงถึงอารมณ์ของข้ อความนั ้น)
DefaultButton
เป็ นการกาหนดปุ่ มดีฟอลต์ (ถ้ ากดปุ่ มEnter จะเท่ากับการคลิกปุ่ มนี ้) ว่าเป็ นปุ่ มที่เท่าไร
(นับจากซ้ ายมาขวา)
การกาหนดปุ่ ม (Button) ใน DialogBox
ค่ า
MessageBoxButtons.OKCancel
คาอธิบาย
ให้ มีปมุ่ OK ปุ่ มเดียว
ให้ มีปมุ่ OK และ Cancel
MessageBoxButtons.AbortRetryIgnore
ให้ มีปมุ่ Abort, Retry และ Ignore
MessageBoxButtons.YesNoCancel
ให้ มีปมุ่ Yes, No และ Cancel
MessageBoxButtons.YesNo
ให้ มีปมุ่ Yes และ
MessageBoxButtons.RetryCancel
ให้ มีปมุ่ Retry และ Cancel
MessageBoxButtons.OK
No
การกาหนด Icon ใน DialogBox
ค่ า
MessageBoxIcon.None
MessageBoxIcon.Question
MessageBoxIcon.Exclamation
MessageBoxIcon.Warning
MessageBoxIcon.Information
MessageBoxIcon.Asterisk
MessageBoxIcon.Error
MessageBoxIcon.Hand
MessageBoxIcon.Stop
ความหมาย
ไม่แสดงไอคอน
ตังค
้ าถาม
เกิดความผิดปกติขึ ้นในโปรแกรม
คาเตือน
แจ้ งข่าวสารทัว่ ไป
แจ้ งข่าวสารทัว่ ไป
เกิดข้ อผิดพลาด
เกิดข้ อผิดพลาด
เกิดข้ อผิดพลาด
การกาหนดตัวแปรเพื่อเก็บผลลัพธ์ ใน MessageBox
• การให้ ผ้ ใู ช่กดปุ่ มเพื่อตอบคาถามจาก MessageBox จะต้ องมีการส่งค่าผลลัพธ์ของ
เมธอด MessageBox.Show ผ่านตัวแปร
• ดังนันเราจึ
้
งต้ องมีการประกาศตัวแปรให้ เป็ นชนิด DialogResult
• เช่นตัวอย่างต่อไปนี ้
ตัวอย่ างการเขียน MessageBox
การใช้ InputBox
• เป็ นฟอร์ มหนึง่ ที่สามารถรับข้ อความจากผู้ใช้ โปรแกรมแล้ วนามาประมวลผลโดยผู้ใช้ สามารถ
กรอกข้ อความเข้ ามาทางหน้ าต่าง InputBox แล้ วคลิกปุ่ ม OK ข้ อความนันก็
้ จะถูกส่งเข้ ามาใน
โปรแกรมโดยมีรูปแบบการใช้ งานดังนี ้
strVar = InputBox(Prompt[,Title][,Default,xPosition,yPosition])
พารามิเตอร์
หน้ าที่
strVar
เป็ นตัวแปรที่ใช้ เก็บข้ อความที่ป้อนเข้ ามา
Prompt
เป็ นข้ อความที่แสดงใน InputBox
Title
เป็ นข้ อความที่แสดงบนแถบบนของ InputBox
Default
ค่าดีฟอลต์แสดงในส่วนกรอกข้ อความ
xPosition
เป็ นตาแหน่งที่ปรากฏของ InputBox ในแนวนอน
yPosition
เป็ นตาแหน่งที่ปรากฏของ InputBox ในแนวตั ้ง
ตัวอย่ างการรั บข้ อมูลทาง InputBox
Title
Prompt
Default
ลองฝึ กการสร้ าง InputBox
• ให้ นกั ศึกษาฝึ กสร้ างแอพพลิเคชันรับฝากข้ อความโดยให้ กรอกชื่อผู้ฝากข้ อความ,เบอร์ โทรศัพท์ที่
จะติดต่อกลับและข้ อความที่ฝากไว้ แล้ วแสดงสิ่งผลที่ได้ กรอกไว้ ถามยืนยันถ้ าตอบ Yes ก็จะ
เก็บข้ อมูลไว้ ในระบบ
• โดยลองสร้ างปุ่ มเพื่อกดรับฝากข้ อความโดยแสดง InputBox ขึ ้นมากาหนดตัวแปรชื่อ
• Strname สาหรับรับชื่อผู้ฝากข้ อความ
• Strphone สาหรับรับเบอร์ โทรศัพท์ที่จะติดต่อกลับ
• Strmsg
สาหรับรับข้ อความที่จะฝากไว้
ลองฝึ กการสร้ าง InputBox (ต่ อ)
• โดยให้ นกั ศึกษาเขียนโค้ ดของตัวแปรที่รับข้ อความจาก InputBox แต่ละตัวแปรดังนี ้
Dim Strname As String
Strname = InputBox(“1. กรุณากรอกชื่อ-สกุล”, “Name”, “-ชื่อ-”)
Dim Strphone As String
Strphone = InputBox(“2. กรุณากรอกหมายเลขโทรศัพท์ให้ ติดต่อกลับ”, “Phone”, “-0-”)
Dim Strmsg As String
Strmsg = InputBox(“3. กรุณากรอกข้ อความไว้ ด้วย”, “Message”, “ ”)
MessageBox.Show(Strname & vbCrLf & Strphone & vbCrLf & Strmsg,
“4.โปรดยืนยันชื่อของคุณว่า ถูกต้ อง”,
MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question)
*บอกผลลัพธ์ ท่ ไี ด้ ว่าแอพพลิเคชันมีหน้ าตาอย่ างไรหลังจากเขียนโค้ ดแล้ วรั นสาเร็จ*