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) *บอกผลลัพธ์ ท่ ไี ด้ ว่าแอพพลิเคชันมีหน้ าตาอย่ างไรหลังจากเขียนโค้ ดแล้ วรั นสาเร็จ*