06.09.2015 Views

(Basic Control)

บทที่5 การใช้งานคอนโทรลพื้นฐาน (Basic Control)

บทที่5 การใช้งานคอนโทรลพื้นฐาน (Basic Control)

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

บทที่ 5 การใช้งานคอนโทรลพื้นฐาน<br />

(<strong>Basic</strong> <strong>Control</strong>)


คอนโทรล (<strong>Control</strong>)<br />

• คอนโทรล คือ ส่วนประกอบที่ใช้ในการสร้างหน้าจอของโปรแกรม ซึ่งมี<br />

ความส าคัญ เนื่องจากเป็นส่วนที่ติดต่อกับผู้ใช้โดยตรง<br />

• การเลือกคอนโทรลที่เหมาะสมในการออกแบบโปรแกรม จะช่วยให้โปรแกรมใช้<br />

งานง่าย และสามารถเขียนโค้ดได้ง่ายด้วย<br />

• ส าหรับ Common <strong>Control</strong> ซึ่งมีคอนโทรลมากที่สุด และถูกใช้งานบ่อย<br />

ที่สุด โดยสามารถแบ่งตามหน้าที่การท างานได้เป็น 4 กลุ่ม ดังนี้<br />

- คอนโทรลเกี่ยวกับการออกค าสั่ง - คอนโทรลเกี่ยวกับข้อความ<br />

- คอนโทรลเกี่ยวกับการเลือก - คอนโทรลอื่นๆ


คอนโทรล Label<br />

• ลาเบล หรือป้ายข้อความ เป็นคอนโทรลที่ใช้แสดงข้อความที่ไม่ต้องการให้ผู้ใช้<br />

แก้ไขได้<br />

• Property ที่ส าคัญ<br />

oBorderStyle ก าหนดรูปแบบของเส้นขอบ โดยค่าที่ก าหนดได้ คือ<br />

None, FixedSingle และ Fixed3D<br />

oFont ก าหนดรูปแบบตัวอักษรของข้อความที่แสดงใน Label<br />

oText ก าหนดข้อความที่จะแสดงใน Label<br />

oTextAlign ก าหนดรูปแบบการจัดวางข้อความใน Label


คอนโทรล Textbox<br />

• เป็นช่องรับข้อความ หรือแสดงข้อความที่ให้ผู้ใช้แก้ไขได้<br />

• Property ที่ส าคัญ<br />

o Multiline หากก าหนดค่าเป็น TRUE จะกลายเป็น Textbox แบบหลายบรรทัด<br />

หากค่าเป็น FALSE เป็น Textbox ที่แสดงและรับข้อความได้เพียงบรรทัดเดียว<br />

o PasswordChar ถ้าก าหนดตัวอักษรใดๆ จะท าให้ Textbox กลายเป็นช่องรับ<br />

รหัสผ่าน โดยตัวอักษรที่ผู้ใช้ป้อนเข้ามา จะถูกแทนที่ด้วยตัวอักษรที่ก าหนดแทน<br />

o Readonly หากก าหนดค่าเป็น TRUE ผู้ใช้จะไม่สามารถป้อนข้อความ หรือแก้ไข<br />

ข้อความใน Textbox ได้ (อ่านได้อย่างเดียว)<br />

o Text ก าหนดข้อความใน Textbox หรือใช้อ่านข้อความใน Textbox


คอนโทรล Textbox<br />

• Method ที่ส าคัญ<br />

oClear ใช้ลบข้อความที่อยู่ใน Textbox<br />

oUndo ใช้ยกเลิกการแก้ไขข้อความครั้งล่าสุด<br />

• Event ที่ส าคัญ<br />

oTextChanged เกิดขึ้นเมื่อข้อความใน Textbox เปลี่ยนไป ซึ่งเกิด<br />

จากผู้ใช้ และโค้ดโปรแกรมเพื่อก าหนดค่าของ Textbox


คอนโทรล Button<br />

• เป็นคอนโทรลที่ให้ผู้ใช้คลิก เพื่อให้โปรแกรมท างานตามที่ก าหนดไว้ใน Event Click<br />

• Property ที่ส าคัญ<br />

o BackgroundImage ก าหนดรูปภาพพื้นหลังของปุ่ม โดยรูปภาพจะถูกน ามาเรียง<br />

ซ้ าๆ กันจนเต็มพื้นที่ของปุ่ม<br />

o Cursor ก าหนดรูปแบบของตัวชี้เมาส์ เมื่อผู้ใช้น าเมาส์มาวางที่ปุ่ม<br />

o Image ก าหนดรูปภาพบนปุ่ม โดยสามารถก าหนดต าแหน่งของรูปภาพได้ด้วย<br />

Property ImageAlign<br />

o Text ก าหนดข้อความที่แสดงบนปุ่ม<br />

• Event ที่ส าคัญ<br />

o Click เกิดขึ้นเมื่อผู้ใช้ท าการคลิกที่ปุ่ม


การใช้งานคอนโทรล Label, Textbox และ Button<br />

• การใช้งานคอนโทรล Label, Textbox และ Button<br />

txtSet<br />

lblShow<br />

btnClear<br />

btnOk<br />

btnUndo


การใช้งานคอนโทรล Label, Textbox และ Button


คอนโทรล Checkbox<br />

• เป็นคอนโทรลที่ให้ผู้ใช้ก าหนดตัวเลือก<br />

• Property ที่ส าคัญ<br />

oChecked บอกสถานะของ checkbox ว่าถูกเลือกหรือไม่ หากไม่มี<br />

เครื่องหมายถูก จะมีค่าสถานะเป็น False แสดงว่า checkbox ไม่ได้<br />

ถูกเลือกไว้ แต่ถ้ามีเครื่องหมายถูก จะมีค่าสถานะเป็น True แสดงว่า<br />

checkbox ถูกเลือก<br />

oCheckState ตรวจสอบสถานะของ checkbox โดยค่าที่เป็นไปได้<br />

เช่น Unchecked, Checked และ Indeterminate<br />

oText ก าหนดข้อความของ Checkbox


คอนโทรล Checkbox<br />

• Event ที่ส าคัญ<br />

o CheckedChange เกิดขึ้นเมื่อค่า Property Checked ของ Checkbox<br />

เปลี่ยนแปลง โดยสามารถเขียนโค้ดใน event นี้ เมื่อต้องการให้โปรแกรมท างาน<br />

ทันทีที่ผู้ใช้คลิก checkbox ไม่ว่าคลิกเลือก หรือคลิกยกเลิกก็ตาม<br />

o CheckStateChange เกิดขึ้นเมื่อค่า Property CheckState เปลี่ยนไป<br />

Checked = False<br />

CheckState = Unchecked<br />

Checked = True<br />

CheckState = Checked<br />

Checked = True<br />

CheckState = Indeterminate


คอนโทรล RadioButton<br />

• เป็นคอนโทรลที่ให้ผู้ใช้ก าหนดตัวเลือกเหมือน checkbox แต่ใช้วงกลมแทนสี่เหลี่ยม<br />

และเมื่อถูกเลือก ภายในวงกลมจะถูกระบายสีทึบแทน<br />

• Property ที่ส าคัญ<br />

o Checked บอกสถานะของ RadioButton ว่าถูกเลือกหรือไม่ โดยในการเขียน<br />

โค้ดจะเป็นการตรวจสอบสถานะของปุ่ม Radio ว่าออบเจ็คใดในกลุ่มที่ถูกเลือก<br />

o Text ก าหนดข้อความของปุ่ม Radio<br />

• Event ที่ส าคัญ<br />

o CheckedChange เกิดขึ้นเมื่อค่า Property Checked ของ<br />

RadioButton เปลี่ยนแปลง<br />

o Click เกิดขึ้นปุ่ม Radio ถูกคลิก


คอนโทรล RadioButton<br />

Checked = True<br />

Checked = False<br />

Checked = False<br />

Checked = True<br />

Checked = False


dbTree<br />

rdbFlower<br />

picShow<br />

rdbDesert<br />

rdbNoborder<br />

rdbborder<br />

rdb3d<br />

chkFile<br />

lblShowFile


การใช้งานคอนโทรล Checkbox, RadioButton


คอนโทรล ListBox<br />

• เป็นคอนโทรลที่ใช้แสดงกลุ่มของตัวเลือกหรือไอเท็ม (Item) เพื่อให้ผู้ใช้เลือกไอเท็มที่<br />

ต้องการ โดยสามารถก าหนดให้เลือกเพียงไอเท็มเดียว หรือหลายไอเท็มพร้อมกันได้ ด้วย<br />

properties ชื่อ SelectionMode<br />

• Property ที่ส าคัญ<br />

o Item เป็นค่า collection ที่บรรจุไอเท็มทั้งหมดของ listbox ไว้ โดยสามารถ<br />

เขียนโค้ดเพื่อด าเนินการกับไอเท็มดังนี้<br />

ListboxName.Items.Add (Item)<br />

• ListboxName : ชื่อ listbox<br />

• Item : ข้อความที่ต้องการเพิ่มเข้าไปใน listbox


คอนโทรล ListBox<br />

• การนับจ านวนไอเท็มใน Listbox<br />

ListboxName.Items.Count()<br />

• การลบไอเท็มที่มีค่า Index ตามที่ระบุ<br />

ListboxName.Items.RemoveAt(Index)<br />

• การลบไอเท็มทั้งหมดใน Listbox<br />

ListboxName.Items.Clear()


คอนโทรล ListBox<br />

o SelectedIndex ให้ค่า Index ของไอเท็มที่ถูกเลือก โดย Index ของไอเท็ม<br />

แรกจะมีค่าเท่ากับ 0 และเรียงล าดับไปเรื่อยๆ ส าหรับ index ถัดไป และคืนค่าเป็น<br />

-1 ถ้าไม่มีไอเท็มใดถูกเลือก<br />

o SelectedItem ให้ค่าเป็น object ที่เป็นตัวแทนของไอเท็มที่ถูกเลือก<br />

o Sorted ถ้าก าหนดค่าเป็น TRUE ไอเท็มใน Listbox จะถูกเรียงล าดับตาม<br />

ตัวอักษร<br />

o GetSelected ใช้ตรวจสอบว่าไอเท็มหนึ่งๆ ถูกเลือกหรือไม่ โดยจะให้ผลลัพธ์เป็น<br />

ค่า TRUE หรือ FALSE<br />

ListboxName.GetSelected(Index)


คอนโทรล ListBox<br />

o SelectionMode ก าหนดรูปแบบการเลือกไอเท็มใน Listbox<br />

• None ไม่ให้เลือกไอเท็มได้<br />

• One ให้เลือกได้เพียงไอเท็มเดียว<br />

• MultiSimple ให้เลือกได้มากกว่า 1 ไอเท็มพร้อมกัน<br />

• MultiExtended ให้เลือกได้มากกว่า 1 ไอเท็มพร้อมกัน โดยจะต้องกด Shift<br />

หรือ Ctrl รวมกับการคลิกเมาส์<br />

o SelectedIndices ให้ค่าเป็น collection ที่บรรจุ Index ของไอเท็มทั้งหมดที่<br />

ถูกเลือก กรณีก าหนดให้เลือกได้มากกว่า 1 ไอเท็มพร้อมกัน<br />

o SelectedItems ให้ค่าเป็น collection ที่บรรจุไอเท็มทั้งหมดที่ถูกเลือก กรณี<br />

ก าหนดให้เลือกได้มากกว่า 1 ไอเท็มพร้อมกัน


การใช้งานคอนโทรล ListBox<br />

lbxShow<br />

btnAdd<br />

btnRemove<br />

btnClear<br />

txtInputItem


การใช้งานคอนโทรล ListBox


คอนโทรล ComboBox<br />

• เป็นคอนโทรลที่ท างานร่วมกันระหว่าง listbox และ textbox คือ ผู้ใช้สามารถป้อน<br />

ข้อความลงในส่วนของ textbox หรืออาจคลิกเลือกจากรายการตัวเลือก<br />

• Property ที่ส าคัญ<br />

o DropDownStyle ก าหนดรูปแบบของ ComboBox<br />

• Simple ผู้ใช้สามารถพิมพ์ข้อความลงใน textbox ได้เอง หรือเลือกไอเท็มจาก<br />

ในรายการของ combobox โดยรายการจะแสดงที่ด้านล่างของ textbox<br />

เสมอ<br />

• DropDown ผู้ใช้สามารถพิมพ์ข้อความลงใน textbox ได้เอง หรือเลือกไอเท็ม<br />

จากในรายการของ combobox โดยจะต้องคลิกลูกศรเพื่อแสดงรายการ<br />

• DropDownList ผู้ใช้ไม่สามารถพิมพ์ข้อความลงใน textbox จ าเป็นต้อง<br />

เลือกไอเท็มในรายการเท่านั้น


คอนโทรล ComboBox<br />

DropDownStyle<br />

: Simple<br />

DropDownStyle<br />

: DropDown<br />

DropDownStyle<br />

: DropDownList


คอนโทรล ComboBox<br />

• Property ที่ส าคัญ (ต่อ)<br />

o Items ให้ค่าเป็น collection ที่บรรจุไอเท็มทั้งหมดของ ComboBox<br />

o MaxDropDownItems ก าหนดความสูงของ DropDown ว่าจะให้แสดงผลได้กี่<br />

ไอเท็ม ค่าที่ก าหนดได้ คือ ตั้งแต่ 1 ถึง 100<br />

o SelectedIndex ให้ค่า Index ของไอเท็มที่ถูกเลือก ถ้าไม่มีไอเท็มใดในรายการ<br />

ถูกเลือก property จะมีค่าเท่ากับ -1<br />

o Sorted ถ้าก าหนดเป็น TRUE ไอเท็มจะถูกเรียงล าดับตามตัวอักษร<br />

o Text ใช้อ่านหรือก าหนดข้อความที่อยู่ในส่วนของ textbox ของ ComboBox


คอนโทรล ComboBox<br />

• การก าหนดค่า Item ใน ComboBox โดยใช้ค าสั่ง Edit Item<br />

textbox:<br />

txtFullname<br />

textbox:<br />

showDetail<br />

combobox:<br />

BirthDay<br />

DateTimePicker:<br />

BirthDate<br />

button:<br />

btnShow


คอนโทรล ComboBox


คอนโทรล ComboBox<br />

textbox:<br />

addSubject<br />

button:<br />

btnAdd<br />

label:<br />

selectSubject<br />

combobox:<br />

listSubject


คอนโทรล ComboBox<br />

• การสั่งให้ท าการเพิ่ม Item ของ ComboBox จากข้อความใน Textbox<br />

เมื่อท าการกด Enter


คอนโทรล MaskedTextbox<br />

• เป็นคอนโทรลที่รับข้อความจากผู้ใช้เหมือนกับ Textbox แต่สามารถก าหนด<br />

รูปแบบการป้อนข้อมูลตามที่ต้องการได้ เช่น เบอร์โทรศัพท์ รหัสประจ าตัว<br />

ประชาชน<br />

• Property ที่ส าคัญ<br />

o Mask ก าหนดรูปแบบของข้อความที่ต้องการ โดยใช้ Mask Element<br />

o Text ข้อความที่กรอกให้กับคอนโทรล<br />

o BeepOnError ก าหนดค่าเป็น True เมื่อต้องการให้มีเสียงเตือนเมื่อผู้ใช้<br />

กรอกข้อมูลผิด<br />

o PromptChar ก าหนดตัวอักษรที่เป็น Prompt (ปกติคือ “_” หรือ<br />

Underscore)<br />

o MaskComplete ให้ผลลัพธ์เป็น TRUE ถ้าข้อมูลใน MaskedTextbox<br />

ตรงตาม Mask


คอนโทรล MaskedTextbox<br />

• Event ที่ส าคัญ<br />

o InputTextChanged เกิดขึ้นเมื่อข้อความในคอนโทรลเปลี่ยนแปลง<br />

o MaskInputRejected เกิดขึ้นเมื่อข้อความที่กรอกไม่ตรงกับ Mask<br />

o MaskChanged เกิดขึ้นเมื่อ Mask เปลี่ยนแปลง<br />

o OutputTextChanged เกิดขึ้นเมื่อข้อความในคอนโทรลเปลี่ยนแปลง<br />

o TextChanged เกิดขึ้นเมื่อข้อความในคอนโทรลเปลี่ยนแปลง


• สัญลักษณ์ที่ใช้ก าหนดรูปแบบข้อความมีดังนี้<br />

Mask Element<br />

คอนโทรล MaskedTextbox<br />

ค าอธิบาย<br />

0 แทนตัวเลข 0 ถึง 9 และต้องใส่ข้อมูลเสมอ<br />

9 แทนตัวเลข 0 ถึง 9 หรือช่องว่าง และจะใส่ข้อมูลหรือไม่ก็ได้<br />

L<br />

แทนอักษร a ถึง z หรือ A ถึง Z และต้องใส่ข้อมูลเสมอ<br />

? แทนอักษร a ถึง z หรือ A ถึง Z และจะใส่ข้อมูลหรือไม่ก็ได้<br />

A<br />

a<br />

แทนอักษร a ถึง z หรือ A ถึง Z หรือตัวเลข 0 ถึง 9 และ<br />

ต้องใส่ข้อมูลเสมอ<br />

แทนอักษร a ถึง z หรือ A ถึง Z หรือตัวเลข 0 ถึง 9 และจะ<br />

ใส่ข้อมูลหรือไม่ก็ได้


คอนโทรล MaskedTextbox<br />

txtName<br />

txtIdCard<br />

txtBirthday<br />

btnProcess


คอนโทรล MaskedTextbox<br />

• การตรวจสอบค่าที่ป้อนบนคอนโทรล MaskedTextbox


คอนโทรล DateTimePicker<br />

• เป็นคอนโทรลที่ใช้รับข้อมูลที่เป็นวันเดือนปี และเวลา โดยมีรูปแบบเป็นปฏิทิน<br />

ท าให้สามารถควบคุมรูปแบบการรับข้อมูลจากผู้ใช้ได้ง่ายขึ้น<br />

• Property ที่ส าคัญ<br />

oMinDate เป็นวันเดือนปีต่ าสุดของ DateTimePicker<br />

oMaxDate เป็นวันเดือนปีสูงสุดของ DateTimePicker<br />

oValue ค่าวันเดือนปีและเวลาที่ได้จากการเลือก<br />

oShowUpDown ถ้าก าหนดเป็น True จะแสดงผลแบบ UpDown<br />

ถ้าก าหนดเป็น False จะแสดงผลแบบ DropDownList


คอนโทรล DateTimePicker<br />

• Property ที่ส าคัญ (ต่อ)<br />

oFormat ก าหนดรูปแบบการแสดงผลวันเดือนปีและเวลาของคอนโทรล<br />

o Long เป็นการแสดงผลวันเดือนปีแบบ Long<br />

o Short เป็นการแสดงผลวันเดือนปีแบบ Short<br />

o Time เป็นการแสดงผลเฉพาะเวลา<br />

o Custom เป็นการก าหนดรูปแบบการแสดงผลตามที่ต้องการ<br />

Long<br />

Short


คอนโทรล DateTimePicker<br />

DateTimePicker:<br />

dtpBirthDate<br />

btnProcess


คอนโทรล DateTimePicker


ค่า Value ของ DateTimePicker ตัวอย่างค่า<br />

datetimepicker.Value.ToLongDateString 03 มีนาคม 2555<br />

datetimepicker.Value.ToShortDateString 03/03/2555<br />

datetimepicker.Value.ToLongTimeString 20:37:05<br />

datetimepicker.Value.ToShortTimeString 20:37<br />

datetimepicker.Value.Hour 20<br />

datetimepicker.Value.Minute 37<br />

datetimepicker.Value.Second 5<br />

datetimepicker.Value.Day 3<br />

datetimepicker.Value.Month 3<br />

datetimepicker.Value.Year 2012<br />

datetimepicker.Value.DayOfWeek<br />

1 (วันจันทร์), 2 (วันอังคาร)<br />

20:37:5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!