ฉบับที่แล้วผมได้กล่าวถึงรายละเอียดของ Windows Form Control ต่างๆ พร้อมทั้ง Property และ Events ของแต่ละ Control ไปพอสมควรแล้ว ฉบับนี้ผมจะขอพูดถึงเรื่อง Form Control ต่างๆที่ยังไม่ได้พูดถึงต่อจากฉบับที่แล้ว เพื่อไม่ให้เป็นการเสียหน้ากระดาษเรามาเริ่มกันเลยดีว่า
Numeric Up-down Control
เป็น Control ที่เหมาะสำหรับให้ผู้ใช้ทำการเลือกค่าของตัวเลข ค่าใดค่าหนึ่งโดยผู้เขียนโปรแกรมทำการกำหนดค่าสูงสุดและค่าสูงสุดเอาไว้ให้(เช่นเลือกปีเกิดเป็นต้น)โดยสามารถรับค่าได้เป็นจำนวนเต็มเท่านั้นไม่สามารถรับค่าเป็นจำนวนจริงได้ หากเราใส่ค่าเป็นจุดทศนิยมลงไปโปรแกรมจะตรวจสอบว่ามีค่ามากกว่าหรือเท่ากับครึ่งหนึ่งหรือไม่ถ้าใช่ โปรแกรมจะทำการปรับขึ้น หรือ ปรับลงถ้าค่านั้นน้อยกว่าครึ่งหนึ่ง โดยค่าสูงสุดที่สามารถใส่ได้ไม่เกิน ตัวเลขที่เป็น 16 bit (65535)
NumericUpDowmมี Property ที่สำคัญอยู่ ตัวคือ Maximum , Minimum , Value และ Increment โดยแต่ละตัวมีหน้าที่ดังนี้
· Maximum ,Minimum สำหรับกำหนดค่าสูงสุดและต่ำสุดที่อนุญาตให้ผู้ใช้เลือกได้ตามลำดับ
· Value สำหรับกำหนดค่าปัจจุบันของ Control
· Increment สำหรับกำหนดค่าที่เพิ่มขึ้นทุกครั้งที่ผู้ใช้ทำการคลิก Control โดยค่าของ Value จะเปลี่ยนไปด้วยทุกครั้งตามค่า Increment
นอกจากให้ผู้ใช้ทำการคลิกเลือกค่าที่ต้องการแล้วผู้ใช้ยังสามารถพิมพ์ตัวเลขที่ตัวเองต้องการลงไปเลยก็ได้ หากผู้ใช้ทำการป้อนตัวเลขที่เกิดค่า Maximum หรือ Minimum ที่โปรแกรมกำหนดไว้ โปรแกรมจะทำการล้างข้อมูลใน NumericUpDown ทั้งหมดพร้อมทั้งรอการรับข้อมูลใหม่อีกครั้ง
เมื่อผู้ใช้ทำการคลิกเปลี่ยนค่าใน Control Event ValueChanged จะถูกโยนออกมาแต่จะโยนออกมาเฉพาะเวลาที่ผู้ใช้ทำการคลิกเลือกค่าหรือ มีการเปลี่ยนค่าใน code เท่านั้น หากเป็นการเปลี่ยนค่าโดยที่ผู้ใช้พิมพ์เข้าไปเองจะไม่มีการโยน Events นี้ออกมา
วิธีการใช้งานเราสามารถลาก Control NumericUpdown จาก Tool box ไปวางใน Form ได้เลย ดังรูปที่ 1 เป็นตัวอย่างการใช้งาน Numeric Control
รูปที่ 1 ตัวอย่าง NumericUpDown Control และค่า Property ที่กำหนด
DomainUpDown Control
เป็นControl ที่มีการทำงานคล้ายกับ NumericUpDown Control มากเพียงแต่ DomainUpdown สามารถเก็บค่าได้เป็น String ซึ่งเหมาะสำหรับการออกแบบใช้งานในหน้าจอที่มีพื้นที่จำกัดเนื่องจากจะแสดงผลครั้งละ 1 แถวของ String เท่านั้น( 1 ตัวเลือก)
Property ที่สำคัญของ DomainUpDown คือ Property Items สำหรับใส่ค่าต่างๆลงไปใน Control ดังตัวอย่าง Code ที่ 1
DomainUpDown doud = new DomainUpDown();
dud.Items("TX");
dud.Items("LA");
dud.Items("WA");
Code ที่ 1 ตัวอย่างการเพิ่ม Item ให้ DomainUpDown Control
หรือเราอาจเพิ่ม Items ต่างในขณะที่กำลังออกแบบโปรแกรมได้โดยทำการคลิกที่ Items Property จะปรากฏหน้าต่าง Collection Editor ขึ้นมาสำหรับพิมพ์ Item ที่ต้องการเพิ่มลงไปโดย 1 บรรทัดเท่ากับ 1 ตัวเลือกดังรูปที่ 2 และในขนะแสดงผลจะได้ผลดังรูปที่ 3 ซึ่งไม่ต่างจาก NumericUpDown Control เลย

รูปที่ 2 การเพิ่มตัวเลือกด้วย Collection editor(2.tiff) รูปที่ 3 การแสดงผลของ DomainUPDown (3.tiff)
Progressbar Control
เป็นControlใช้ในการแสดงความคืบหน้าในการทำงานต่างๆของโปรแกรมเพื่อแสดงให้ผู้ใช้เห็นว่าโปรแกรมยังทำงานอยู่ไม่ได้เกิดอาการแฮงค์ของโปรแกรมดังรูปที่ 4
Property ที่สำคัญๆของ ProgressBar มี 3 ค่าคือ Minimum, Maximum และ Value โดย Minimum , Maximum เป็นการกำหนดค่าต่ำสุด-สูงสุดให้กับ ProgressBar และ Value สำหรับการกำหนดปัจจุบันให้กับ ProgressBar โดยการทำงานของ ProgressBar มีรูปแบบดังนี้
· ถ้า value มีค่าเท่ากับ Minimum ProgressBar จะไม่แสดงสี
· ถ้า value มีค่าเท่ากับ Maximum ProgressBar จะแสดงสีเต็มทั้งแท่ง
·

ถ้า value มีการเปลี่ยนแปลงค่าตัว ProgressBar จะทำการวาดใหม่ให้สีของ Progressbar สอดคล้องกับ ค่า Value
รูปที่ 4 การทำงานของ ProgressBar Control(4.tiff) รูปที่ 5 การทำงานของ Status Bar Control ( 5.tiff)
StatusBar
StatusBar จะทำการแสดงผลอยู่ที่ด้านล่างสุดของ FORM ซึ่งการทำงานส่วนใหญ่จะเอาไว้ใช้บอกประโยคสั้นๆเกี่ยวกับรายละเอียดหรือการทำงานต่างๆของโปรแกรมของเรา โดยสามารถแสดงผลได้แต่ text เท่านั้น การเปลี่ยนค่าสามารถทำได้ง่ายๆ เพียงเปลี่ยนค่า Property Text เท่านั้น โดยเราสามารถทำการเปลี่ยนได้ทั้งในขณะ Run time และ Design Time รูปที่ 5 เป็นตัวอย่างการทำงานของ StatusBar
TrackBar
เป็น Control สำหรับให้ผู้ใช้เลือกค่าของตัวเลขโดยการเปลี่ยนตำแหน่งของ TrackBar ทำให้เพิ่มความสะดวกให้กับผู้ใช้มากขึ่นเช่นการใช้ในปุ่ม Volume Control หรืออื่นๆ เป็นต้น
ในการใช้งานเราต้องทำการกำหนดค่า Property ที่สำคัญๆ 3 ตัวคือ Minimum, Maximum และ Value ซึ่งก็มีความหมายเหมือนกับ Control ตัวอื่นๆที่ได้พูดถึงไปแล้วแต่ TrackBar มี Property ที่ต่างจาก control อื่นๆดังนี้
· TickFrequency สำหรับทำการกำหนดระยะห่างระหว่างขีดแต่ละขีดที่อยู่บน Trackbar โดยมีค่าเริ่มต้นคือ 1
· SmallChange สำหรับกำหนดค่าที่เพิ่มขึ้นเมื่อผู้ใช้ทำการคลิกลูกศร
· LargeChange สำหรับกำหนดค่าที่เพิ่มขึ้นเมื่อผู้ใช้ทำการคลิกส่วนที่ว่างของ TrackBar(ไม่โดนลูกศร)
· Orientation มีค่าที่เป็นไปได้ 2 ค่าคือ Vertical สำหรับแสดงผลในแนวตั้งและ Horizontal สำหรับแสดงผลในแนวนอน
โดยเราสามารถจัดการการทำงานของ TrackBar ได้โดยการเขียนชุดคำสั่งลงในEvent ValueChanged รูปที่ 6 เป็นตัวอย่างการทำงานของ TrackBar ครับ
รูปที่ 6 การทำงานของ trackBar
Panel Control
เป็น Control ที่อยู่ในระดับ Container ชนิดหนึ่งซึ่งทำหน้าที่รวบรวม Control อื่นๆ เอาไว้ในตัวเองอีกชั้นหนึ่งสำหรับเอาไว้รวม Control อื่นๆ เอาไว้เป็นกลุ่ม ซึ่งเราสามารถเพิ่ม Panel ของเราให้กับ Form ได้ทั้งในขณะ Design time และ Runtime
โดย Panel Control ใน .NET Compact framework ไม่สนับสนุน Property ต่อไปนี้คือ
· BorderStyle property
· BackGroundImage property
· AutoScroll property
ToolBar Control
ToolBar เป็นส่วนที่สำคัญอย่างนึงในการใช้งานโปรแกรมบน Windows เพื่อความสะดวกในการเข้าถึงคำสั่งการทำงานหรือเมนูของโปรแกรมต่างๆ โดยมีลักษณะเป็นรูปภาพเป็นแท่งเล็กๆที่แสดงแทนปุ่มกดเอาไว้ที่ส่วนล่างของ หน้าจอโดยใน .NET CF Toolbar ไม่สามารถใส่ข้อความได้ โดยเราต้องใช้ Control ImageList เพื่อใช้ในการสร้าง ToolBar
สำหรับวิธีการเพิ่ม Toolbar ให้กับโปรแกรมของเรามีวิธีการทำดังนี้
1. ลาก ImageList Control ไปวางใน FORM ของเรา
2. สังเกตด้านล่างของหน้าจอ Design จะปรากฏชื่อ imageList Control ที่เราพึ่งสร้างไป ดังรูปที่ 7
3. คลิกที่ ImageList Control จากนั้น คลิกปุ่ม … ที่ Image Property เพื่อเรียก Collection Editor จะปรากฏหน้าจอดังรูปที่ 8 แล้วทำการคลิก Add แล้วทำการเลือกไฟล์รูปภาพที่ต้องการนำมาทำเป็น Icon
4. ทำการลาก ToolBar Control ไปวางที่ FORM จากนั้น ตั้งค่า ImageList Property ให้เป็นชื่อ ImageList1 ที่เราได้สร้างเตรียมเอาไว้
5. จากนั้นคลิกที่ปุ่ม … ที่ Button Property เพื่อเข้าสู่ Button Control Collection Editor ให้เราคลิกที่ Add เพื่อเพิ่มปุ่มใหม่ให้กับ ToolBar ของเราเมื่อเราคลิกแล้วโปรแกรมจะทำการเพิ่มปุ่มให้เราโดยอัตโนมัติ จากนั้นให้ลองสังเกตที่ ToolBarButton1 Property แล้วดูที่ ค่า ImageIndex ค่าในนี้จะอ้างถึง ImageList ที่เราได้สร้างไว้ โดย Index ที่ใช้อ้างอิงถึงรูปภาพจะเริ่มต้นจาก 0 เรียงต่อกันไปเรื่อยๆ ให้เราทำการคลิกเลือก Index ของรูปภาพตามที่เราต้องการ ดังรูปที่ 9
6.ทำการตั้งค่า Button Style ซึ่งจะมี Style ให้เลือกดังนี้
· DropDownButton กำหนดให้เมื่อคลิกปุ่มแล้วมีการแสดงหน้าต่างหรือเมนูออกมา
· PushButton เป็นค่า โดยปริยาย ซึ่งจะเป็นการแสดงปุ่มกดสามมิติทั่วไป
· Separator เป็น ขีดเพื่อให้แบ่ง Toolbar
· ToggleButton สร้างปุ่มที่เมื่อคลิกแล้วป่มจะคงสถานะถูกคลิกเอาไว้จนกว่าจะคลิกอีกครั้ง
จากนั้นลอง Deploy ดูก็จะได้ Toolbar ตามที่เราต้องการดังรูปที่ 10

รูปที่ 7 ImageList Control ที่แสดงขึ้นมา (7.tiff)
รูปที่ 8 การเพิ่มรูปภาพให้กับ ImageList Control(8.tiff)
รูปที่ 9 การตั้งค่า ToolBar Collection Editor(9.tiff)
รูปที่ 10 ToolBar ที่สร้างเสร็จแล้ว (10.tiff)
จัดการ Event ที่เกิดจาก ToolBar
มาถึงตอนนี้เราสามารถเพิ่ม ToolBar ให้กับโปรแกรมของเราได้แล้วแต่เรายังไม่สามารถทำอะไรกับ ToolBar ของเราได้ จนกว่าเราจะทำการเขียน Events Handle เพื่อกำหนดการทำงานให้กับปุ่มของเราเมื่อมีเหตุการณ์ต่างๆเกิดขึ้น โดยเมื่อเราทำการคลิกปุ่มใดใน ToolBar ของเราจะเกิดการโดยเหตุการณ์ที่ชื่อ ButtonClick ขึ้น โดยวิธีการเพิ่มชุดคำสั่งที่ง่ายที่สุดคือการดับเบิ้ลคลิกที่ ไอคอน ใน ToolBar ที่เราสร้างเอาไว้โปรแกรมจะทำการสร้าง method toolBar1_ButtonClick() ให้เราเองโดยอัตโนมัติ จากนั้นเราจึงสามารถใส่คำสั่งที่เราต้องการให้โปรแกรมทำงานเมื่อเกิดการคลิกปุ่มนั้นๆขึ้นมาได้ทันที
ในการอ้างอิงถึงแต่ละปุ่มที่ต่างกันนั้นเราสามารถตรวจสอบได้จากค่าตัวแปร ToolBarButtonClickEventArgs e ที่ถูกส่งให้กับ Method นั้น โดยจะทำการอ้างจากค่า Reference ที่ใช้เรียก Button เหมือนกับตอนที่เราสร้าง ToolBar กันครับ ดูตามตัวอย่าง code ที่ 2
1. private void toolBar1_ButtonClick(object sender, 2.System.Windows.Forms.ToolBarButtonClickEventArgs e){
3. if(e.Button == this.toolBarButton1)
4. {
5. MessageBox.Show("This is Button 1 Click!","ToolBar Click!");
6. }
7. else if(e.Button == this.toolBarButton2)
8. {
9. MessageBox.Show("This is Button 2 Click!","ToolBar Click!");
10. }
11.}
Code ที่ 2 การเขียนโปรแกรมจับเหตุการณ์สำหรับ Toolbar
เมื่อเราทำการเขียน Code ให้กับ method toolBar1_ButtonClick() เรียบร้อยแล้วให้ลองสั่ง Deploy แล้วลองคลิกที่ ToolBar เพื่อดูผลครับเมื่อลองคลิกที่ปุ่ม 1 และ 2 จะได้ผลที่ต่างกันดังรูปที่ 11 นี่ก็เป็นตัวอย่างการสร้างจะจัดการการทำงานของ Toolbar เบื้องต้นซึ่งผู้อ่านสามารถนำไปใช้ประยุกต์กับโปรแกรมของผู้อ่านได้ต่อไป
รูปที่ 11 การทำงานของปุ่มทั้ง 2 ปุ่ม (11.tiff)
เพิ่มเมนูให้กับโปรแกรมด้วย MainMenu Control
Main Menu เป็นเมนูหลักของโปรแกรมบน Pocket PC ที่จะอยู่ด้านล่างสุดของจอภาพ(ระดับเดียวกับ ToolBar) โดย MainMenu จะเป็น Control ระดับ Container สำหรับเก็บ Control MenuItem นั่นหมายความว่าเราสามารถเพิ่ม MenuItem หลายๆอันใน MainMenu 1 อันได้ โดยปกติเมื่อเราสร้าง Pocket PC Project ใหม่ โปรแกรมจะสร้าง MainMenu Control ให้เราโดยอัตโนมัติแล้วในชื่อ MainMenu1
วิธีการสร้าง MenuItem
1. ทำการคลิกที่ MainMenu ที่อยู่ด้านล่างของ design form
2. สังเกตที่บริเวณ Menu ในส่วน design form จะเห็น คำว่า type here ขึ้นให้ทำการคลิกที่คำว่า type here แล้วพิมพ์ชื่อเมนูที่ต้องการลงไปดังรูปที่ 12
3.

เราสามารถพิมพ์รายชื่อเมนูของเราเข้าไปได้ตามจำนวนที่เราต้องการดังรูปที่ 13
รูปที่ 12 การเพิ่ม MenuItem(12.tiff) รูปที่ 13 ผลการสร้าง Menu
การจัดการเหตุการณ์จาก Menu
เมื่อเกิดการคลิก Menu MenuItem จะโยน Event Click ออกมาเราสามารถจัดการกับ Events ที่เกิดขึ้นได้โดยการเขียน Method ไปจัดการหรือทำการดับเบิ้ลคลิกที่ ชื่อ Menu นั้นได้เลยครับ จากนั้นให้เขียนคำสั่งที่ต้องการลงไปได้เลยเช่นเดียวกับการเพิ่ม Events ให้กับ ToolBar ครับ
Context Menu
เป็นเมนูที่จะถูกเรียกขึ้นมาเมื่อเราทำการคลิก Stylus ค้างไว้สักครู่หนึ่งซึ่งโดยหลักการแล้ว Context Menu มีหลักการทำงานเหมือนกับ mainMenu กล่าวคือเป็น Control ระบบ Container ที่ทำการที่รวบรวม MenuItem Control
วิธีการเพิ่ม Context Menu ก็เพียงแค่ลาก Context Menu มาจาก toolbox ไปวางไว้ใน FORM ได้เลย หลังจากลากไปแล้วจะเห็น Context Menu ขึ้นมาอยู่ที่ส่วนล่างของหน้าจอ FORM Design (บริเวณเดียวกันกับ MainMenu) จากนั้นใช้วิธีการเพิ่ม MenuItem และ จัดการทำ Events ได้เช่นเดียวกับ MainMenu ทุกอย่าง
เพียงแต่จะแตกต่างกันตรงที่ Context Menu นั้นจำเป็นที่จะต้องถูกเพิ่มเข้าสู่ Container อื่นอีกครั้งนึงอาจจะเป็น FORM หรือ Panel เป็นตรง แต่ MainMenu นั้นจะแสดงอยู่ที่ทุก FORM อยู่แล้ว ส่วนวิธีการเพิ่ม Context Menu สู่ FORM ของเราสามารถทำได้โดยการเพิ่ม Code ดัง Code ที่ 3 ลงใน method InitializeComponent() (สามารถเลือกได้จาก Dropdown ส่วนบนในหน้าจอ Code Editor)
Private void InitializeComponent(){
:
:
//เพิ่มเฉพาะบรรทัดข้างล่างนี้
this.ContextMenu =this.contextMenu1;
}
Code ที่ 3 การเพิ่ม Context Menu ให้กับ FORM
HScrollBar และ VScrollBar
เป็นการสร้างScrollBar ให้กับ Control ที่ไม่ได้มี ScrollBar เป็นค่า Default ในตัวเองโดยมี Property ที่สำคัญๆที่ต้องกำหนดดังนี้
· Minimum เป็นค่าที่กำหนดค่าเริ่มต้นขณะที่แท่งของ ScrollBar อยู่ซ้ายสุด หรือ บนสุด
· Maximum เป็นค่าที่กำหนดค่าสูงสุดที่ ScrollBar สามารถมีค่าได้ แต่ค่าในขณะที่ScrollBar อยู่ขวาสุดหรือล่างสุดจะมีค่าเท่ากับ Maximum – LargeChange + 1
· SmallChange ค่าที่เปลี่ยนแปลงเมื่อผู้ใช้ทำการคลิกที่ลูกศรที่อยู่อีกด้าน
· LargeChange ค่าที่เปลี่ยนแปลงเมื่อผู้ใช้คลิกส่วนของ ScrollBar ที่อีกฝั่งของ ScrollBar
· Value แสดงค่าปัจจุบันของ ScrollBar
สำหรับการทำงานของ ScrollBar จะโยน Event ValueChanged ออกมาเมื่อค่าของ value มีการเปลี่ยนแปลงเราสามารถเขียน Method เพื่อดักจับเหตุการณ์ที่โยนออกมาโดยสามารถดูตัวอย่างได้จาก code ที่ 4 ทำการจับการเปลี่ยนแปลงค่าของ ScrollBar แล้วทำการแสดงผลออกมาทางหน้าจอ
private void hScrollBar1_ValueChanged(object sender, System.EventArgs e)
{
//ทำการเปลี่ยนค่าใน Textbox1 ให้มีค่าเป็นค่าของ Value ของ ScrollBar
textBox1.Text = string.Format("Scroll Bar Value: {0}",
this.hScrollBar1.Value);
}

และเมื่อลองสั่ง Deploy แล้วจะได้ผลดังรูปที่ 14 ทุกครั้งที่เราทำการเพิ่มค่าของ ScrollBar ค่าใน TextBox จะถูกเปลี่ยนแปลงตามไปด้วย
รูปที่ 14 การทำงานของ ScrollBar(14.tiff) รูปที่ 15 เพิ่ม PictureBox และ Button (15.tiff)
PictureBox
เป็น Control ที่ใช้แสดงรูปภาพโดย Control นี้ไม่สามารถทำอะไรได้มากนักเนื่องจากมีข้อจำกัดโดยจะแสดงรูปภาพที่ส่วนซ้ายบนของ Control เท่านั้นโดยเราไม่สามารถทำการ Resize หรือกำหนดค่าอื่นๆได้เลยโดยมี Property ที่สำคัญคือ Image สำหรับกำหนด Path ที่อยู่ของรูปภาพที่จะทำการ โหลดเข้าสู่ Control โดยเราสามารถกำหนดได้ทั้งในขณะ Design Time และ Runtime โดยใช้การเขียน Code เองดัง code ที่ 4 โดยก่อนที่จะทำการเขียน code ให้ทำการลาก PictureBox Control และ Button Control จาก ToolBox มาวางใน FORM ของเราก่อน จากนั้นให้ดับเบิลคลิกที่ Button Control เพื่อให้โปรแกรมสร้าง Method สำหรับจัดการกับ click Event และให้เตรียมไฟล์รูปภาพขนาดเล็กๆสำหรับทดลองโหลดเข้าสู่โปรแกรมไว้ด้วย
private void button1_Click_1(object sender, System.EventArgs e)
{
pictureBox1.Image = new Bitmap(@"\Program Files\PPCMagz\icon.jpg");
}
Code ที่ 4 การเขียนโปรแกรมโหลดไฟล์รูปภาพขณะ Runtime

หากสังเกตที่ Path ของโปรแกรมจะถูกเขียนเป็น \Program Files\PPCMagz\icon.jpg Path นี้เป็น path ที่อยู่บนเครื่อง Pocket PC เพราะฉะนั้นการที่เราจะทำให้โปรแกรมใน Pocket PC สามารถโหลดไฟล์นี้ขึ้นมาแสดงได้เราจึงต้องทำการ copy File ชื่อ icon.jpg ไปวางไว้ใน Directory ที่เราอ้างอิงถึง เมื่อเรา copy ไปวางไว้แล้วให้ลองDeploy แล้ว คลิก Button ดูว่าไฟล์ถูกโหลดขึ้นมาเรียบร้อยหรือไม่ จะได้ผลดังรูปที่ 16
รูปที่ 16 หลังจากการโหลดไฟล์รูปภาพมาแล้ว(16.tiff) รูปที่ 17 การเพิ่ม Resource File (17.tiff)
แต่เรายังมีวิธีที่ง่ายกว่าการที่ต้องทำการ Copy file ไปสู่บน Pocket PC เองโดยอัตโนมัติ โดยทำการเพิ่มไฟล์รูปภาพของเราลงใน Resource File ของ Project เมื่อเราเพิ่มเราเวลาที่เราสั่ง Deploy ไฟล์ของเราจะถูก Copy ไปกับ Project โดยอัตโนมัติโดยมีวิธีทำคือ (ดูรูปที่ 17 ประกอบ) คลิกขวาที่ส่วน Solution Explorer ตรงที่ชื่อ Project แล้วคลิกที่ add จากนั้น Add Existing Itemจากนั้นทำการเลือกไฟล์จากเครื่องคอมพิวเตอร์ของเรา โดย ไฟล์รูปของเราจะถูก Copy ไปยัง Folder ที่โปรแกรมถูก Deploy ไปโดยค่าปริยายคือ \Program Files\PPCMagz\icon.gif โดย PPCMagz จะเป็นชื่อ Project หลังจากเพิ่มแล้วเมื่อ Deploy โปรแกรมจะทำการ copy ไฟล์ไปให้โดยอัตโนมัติ
บทสรุป
สำหรับการเขียนโปรแกรมบน Pocket PC ด้วย .NET CF นั้น Form Control จะมีข้อจำกัดต่างๆมากมายต่างจาก .NET Framework มากแต่ก็ยังมี Control ที่มีความสำคัญเพียงพอต่อการใช้งานทั่วไปสำหรับเครื่อง Pocket PC อยู่แล้ว ซึ่งทาง Microsoft คงมีการพัฒนา .NET CF 2.0 ออกมาทำงานได้มีประสิทธิภาพมากกว่านี้ เพื่อรองรับความสามารถใช้การทำงานของเครื่องและระบบปฏิบัติการ Windows Mobile 2005 ที่กำลังจะออกมาให้พวกเราได้ใช้กันเร็วๆนี้
สำหรับเรื่อง Form Control ต่างๆ คงต้องขอจบลงในฉบับนี้ครับโดยในฉบับหน้าผู้เขียนจะขอเสนอการเขียนโปรแกรมประยุกต์โดยใช้เทคนิคและเทคโนโลยีต่างๆที่มีใน .NET CF กันครับฉบับนี้ลาไปก่อน สวัสดีครับ