งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ (p.2-26) ตอนที่ 2 Standard Windows Forms Controls (27-74)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ (p.2-26) ตอนที่ 2 Standard Windows Forms Controls (27-74)"— ใบสำเนางานนำเสนอ:

1 บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ (p.2-26) ตอนที่ 2 Standard Windows Forms Controls (27-74)

2 2 คำสั่งเงื่อนไขและการตัดสินใจ ในการทำงานของโปรแกรมทั่วๆไปจะมีการทำงาน 3 ประเภทหลัก  การทำงานเป็นลำดับ (sequence) ก่อนและหลัง  การตัดสินใจ(decision) มีเงื่อนไขให้ตรวจสอบการ ทำงาน  การทำงานที่ต้องทำซ้ำ ๆ หลายครั้งหรือการวนลูป (loop)

3 3 คำสั่งเงื่อนไขและการตัดสินใจ คำสั่งที่ใช้ในการตัดสินใจเลือก ถือเป็นคำสั่ง ควบคุมชนิดหนึ่ง ภาษาโปรแกรมโดยทั่วไปจะมี 2 คำสั่ง คือ  if – statement  case หรือ switch

4 4 คำสั่ง IF if เป็นการเปรียบเทียบเงื่อนไขว่าตรงตามที่เรา ต้องการหรือไม่ หากตรงก็จะทำตามคำสั่งที่กำหนด แต่หากไม่ตรงก็จะข้ามคำสั่งส่วนนั้นไป กรณี การเขียนเงื่อนไขเดียว และกระทำกรณีเป็นจริง รูปแบบคำสั่ง ตรวจสอบเงื่อนไข ถ้าเป็นจริงจะทำงานตาม statement if ( condition ) { statement (s) }

5 5 ตัวอย่าง การเขียนเงื่อนไขเดียว if (x==y) { Console.Write("x equals to y"); } if ((x>0)&& (y<>0)) { Z=x/y; }

6 6 คำสั่ง IF หากหลัง if มีเพียง statement เดียวไม่จำเป็นต้อง เขียน {} ครอบคำสั่งก็ได้เช่น if (x<0) str strText = "It’s Negative“; if (x>=0) str strText = "It’s Positive” ;

7 7 if-else statement if (expression ที่ทดสอบเงื่อนไข ) { // ชุดคำสั่งเมื่อเงื่อนไขเป็นจริง } else { // ชุดคำสั่งเมื่อเงื่อนไขเป็นเท็จ }

8 8 การใช้ if-else แบบซ้อนกัน if (expression ที่ทดสอบเงื่อนไขที่ 1) { If (expression ที่ทดสอบเงื่อนไขที่ 2) { ( ชุดคำสั่งเมื่อเงื่อนไขที่ 2 เป็นจริง ) } else { ( ชุดคำสั่งเมื่อเงื่อนไขที่ 2 เป็นเท็จ ) } else { (expression ที่ทดสอบเงื่อนไขที่ 1) }

9 9 else if & Nested if statement if (condition1) { … } else if (condition2) { … } else { … } ตัวอย่าง char Result; if (Score > 80) Result = ‘A’; else if (Score > 50) Result = ‘B’; else Result = ‘F’;

10 10 else if & Nested if statement if (condition1) { … if (condition2) { … if (condition3) { … } x=10; y=20 if (x>5) { if (y>30) { z=x*y; } else { z=x+y; } }

11 11 โปรแกรมสำหรับคำนวณเกรด if (score >= 90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else if (score >= 60) { grade = 'D'; } else { grade = 'F'; }

12 12 คำสั่ง switch..case ใช้ในการตัดสินใจเลือกมากกว่า 2 ทางเลือก จะทำการตรวจสอบเงื่อนไขในการเลือกก่อนว่าจะ ตรงกับตัวเลือกใด แล้วจึงทำงานตามคำสั่งที่ ต่อท้ายตัวเลือกนั้น

13 13 คำสั่ง switch..case switch (variable) { case ค่าที่1 ของตัวแปร: // เงื่อนไขแรก statement1; // ทำงานตามเงื่อนไขแรก case ค่าที่2 ของตัวแปร: // เงื่อนไขที่สอง statement2; // ทำงานตามเงื่อนไขที่สอง … case สุดท้าย: // เงื่อนไขที่สอง statement; // ทำงานตามเงื่อนไขสุดท้าย default : statementN; // เมื่อไม่ตรงกับเงื่อนไขใดๆ เลย }

14 14 ภาพแสดงลักษณะการตรวจสอบเงื่อนไข ของ switch-case

15 15 1. string str, color; 2. Console.Write("Enter day of week:"); 3. str = Console.ReadLine(); 4. switch (str) { 5. case "Sunday" :color = "red"; 6. break; 7. case "Monday" : color="yellow"; 8. break; default : color="invalid"; 11. break; 12. } 13. Console.WriteLine("color of " + str.ToUpper() + " is " + color.ToUpper()); 14. Console.Read (); 1. string str, color; 2. Console.Write("Enter day of week:"); 3. str = Console.ReadLine(); 4. switch (str) { 5. case "Sunday" :color = "red"; 6. break; 7. case “monday" : 8. case "Monday" : color="yellow"; 9. break; default : color="invalid"; 12. break; 13. } 14. //แสดงผลบน lblResult switch statement switch (expression) { case value1 : // เงื่อนไขแรก statement1; // คำสั่ง break; case value2 : statement2; break; case valueN : statementN; break; default : statement; break; } expression: ตัวเลข or string

16 switch statement class DateDemo { public static void Main () { char d; Console.Write(“ Input number date1 – 7 : “); d = (char) Console.Read(); Console.Write(“ Input value : “ + d+” = Date of week = “); Switch (d) {case ‘1’ : Console.WriteLine(“Sunday.”); break; case ‘2’ : Console.WriteLine(“Monday.”); break; case ‘3’ : Console.WriteLine(“Tuesday.”); break; case ‘4’ : Console.WriteLine(“Wednesday.”); break; case ‘5’ : Console.WriteLine(“Thursday.”); break; case ‘6’ : Console.WriteLine(“Friday.”); break; case ‘7’ : Console.WriteLine(“Saturday.”); break; default : Console.WriteLine(“Invalid number”); break; } }}

17 17 ข้อควรระวังในการใช้ switch คือ ค่าของตัวแปรหรือนิพจน์ต้องเป็นเลขจำนวนเต็มหรือ char, byte เท่านั้น ไม่สามารถใช้แบบเป็นช่วง ชนิดข้อมูลของตัวแปร จะต้องเป็นประเภทเดียวกับค่า ข้อมูลที่กำหนดหลัง case คำสั่ง switch จะประกอบด้วยคำสั่ง break หลังการทำงาน เพื่อควบคุมการทำงานของโปรแกรม ให้ทำงานเฉพาะ กรณีผลการตรวจสอบเป็นจริง เพื่อลดเวลาในการ ประมวลผล แต่สามารถไม่ใส่คำสั่งนี้ได้ หากต้องการให้ ทำงานต่อเนื่องทุก case

18 18 ในทางปฏิบัติจะเห็นว่าคำสั่ง switch และคำสั่ง if ให้ผลการทำงานเกือบเหมือนกัน ผู้ใช้สามารถเลือกเขียนด้วยชุดคำสั่งใดก็ได้ โดยทั่วไปคำสั่ง if จะครอบคลุมเงื่อนไขในการ ทดสอบได้มากกว่า เช่นสามารถทดสอบเป็นช่วง ได้ สามารถทดสอบจำนวนจริงได้ แต่คำสั่ง switch จะช่วยให้โปรแกรมดูง่ายและสะดวกในการ เขียนหรือแก้ไขโปรแกรม

19 19 Iteration Statement

20 20 เป็นการทำงานซ้ำตามจำนวนครั้งที่กำหนด โดยเริ่มจากค่าแรกไปจนถึงค่าสุดท้าย รูปแบบคำสั่ง for (counter = first value; counter condition; adjust counter value) { … } เช่น for (i=0;i<=10;i++) { … } for statement หมายถึง ให้วนลูปเริ่มตั้งแต่ค่า i=0 ไปเรื่อยๆ ตราบใดที่ค่า i ยังไม่เกิน 10 และให้เพิ่มค่า i ทีละ 1

21 21 for (…) { … for (…) { … for (…) { … }}} Nest for…Loop สามารถใช้การวนลูปซ้อนกันกี่ชั้นก็ได้

22 22 ตัวอย่าง for statement (2) 1. int num; string s; 2. Console.Write ("Please Enter number : "); 3. s=Console.ReadLine( ); 4. num=int.Parse(s); 5. for (int i=1; i<=num; i++){ 6. for (int j=1;j<=i;j++){ 7. Console.Write(j+" "); 8. } // end for j 9. Console.WriteLine(" "); 10. } // end for i 11. Console.Read( );

23 23 While ในการใช้งาน for Loop จำเป็นต้องระบุค่าเริ่มต้น และค่าสุดท้ายของลูป แต่ในกรณีที่ไม่ทราบค่าดังกล่าว แต่ทราบเงื่อนไข บางอย่าง สามารถใช้ลูป while แทนได้

24 24 while statement โครงสร้างของลูป while while (condition) { ….statement…. } ตัวอย่าง 1. int Result = 0; int i = 0; 2. while (i < 2) { 3. i += 1; 4. Result += i; 5. } // end while 6. Console.Write (Result + " " + i); // Result=____ i=____

25 25 do-while statement do { … } while (condition); while (condition) { … } ตัวอย่าง 1. int Result = 0; int i = 0; 2. do { 3. i += 1; 4. Result += i; 5. } while (i < 2); 6. Console.Write (Result + " " + i); // Result=____ i=____

26 26 แบบฝึกหัด for & while statement (4) พี่มอสมีแฟนคลับ 2,857 คน โดยแต่ละปีจะ มีแฟนคลับเพิ่มขึ้นปีละ 8% จงเขียนโปรแกรมคำนวณว่าจะใช้เวลากี่ปี พี่ มอสจึงจะมีแฟนคลับมากกว่า 5,000 คน

27 27 องค์ประกอบของ IDE ใน c#.net

28 28

29 29 เมื่อเราเพิ่ม control(object)

30 30 สังเกตุฟังก์ชั่น

31 31 การสร้าง Event-Driven Programming แนวคิดของการเขียนโปรแกรม คือต้องสามารถตอบสนอง ต่อเหตุการณ์ (Event-handling) ที่เกิดขึ้น เช่น การคลิก (Click) การ ดับเบิ้ลคลิก (DoubleClick) การกดแป้นพิมพ์ (KeyDown, KeyPress, KeyUp) การเคลื่อนที่ของเมาส์ (MouseMove, MouseUp, MouseDown) และเหตุการณ์อื่นๆ

32 32 รูปแบบของ Event-Driven Programming ObjName : ชื่อของวัตถุที่เราต้องการควบคุมเหตุการณ์ Event : เหตุการณ์ที่เกิดขึ้นกับวัตถุ sender: ตัวแปรที่ส่งไปแทนวัตถุที่เกิดเหตุการณ์ขึ้น e: ตัวแปรที่ส่งไปแทนเหตุที่เกิดขึ้นกับวัตถุ private void ObjName_Event(object sender, EventArgs e ) {... } private void textBox1_TextChanged(object sender, EventArgs e) { }

33 33 Form อยู่ภายใต้ namespace : System.Windows.Forms. Form ใช้เป็น container สำหรับ นำ controls อื่นๆ มาวาง เพื่อสร้าง GUI (Graphic User Interface)

34 34 Form Properties Text Font Opacity TopMost AcceptButton CancelButton AutoScroll Icon BackColor Enabled WindowState StartPosition Location Size MaximumSize MinimumSize

35 35 Form Events Activated and Deactivate Load Closing Closed Resize Move etc.

36 36 Form Event : Closing() 1. private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) 2. { 3. if(MessageBox.Show(“Close Application?", "Closing Event", MessageBoxButtons.YesNo) == DialogResult.Yes) 4. { 5. this.Dispose();// ปิด form ตัวเอง 6. // Application.Exit();// จบการทำงานของ application 7. } 8. else 9. { 10. // Cancel the Closing event from closing the form. 11. e.Cancel = true; 12. } 13. }

37 37 การกำหนด Control Tab Order 1. เลือก View menu -> Tab Order 2. กำหนดลำดับ tab ให้กับ control ต่างๆ 3. เลือก View menu -> Tab Order อีกครั้ง

38 38 Windows Forms Inheritance เลือก Add -> Add Inherited Form… กำหนดชื่อ form ใหม่ เลือก form ต้นแบบ การปรับปรุงที่ form ต้นแบบ ส่งผลถึง form ใหม่ ที่ inherit มา

39 39 TextBox อยู่ภายใต้ namespace : System.Windows.Forms. TextBox สำหรับแสดงผลข้อความ หรือรับข้อความจาก คีย์บอร์ด ขณะรันโปรแกรม

40 40 TextBox Properties Text TextAlign Visible Font BackColor ForeColor MultiLine ScrollBar BorderStyle Enable ReadOnly PasswordChar MaxLength Anchor AutoSize SelectionStart SelectionLength TextLength

41 41 TextBox Method Focus () กำหนด cursor ให้อยู่ที่ TextBox SelectAll () เลือกข้อความทั้งหมดภายใน TextBox Clear () ลบข้อความใน TextBox Hide () ซ่อน TextBox Show () แสดง TextBox

42 42 TextBox Events TextChanged เกิดขึ้นเมื่อข้อความบน TextBox เปลี่ยนแปลง KeyPress เกิดขึ้นเมื่อผู้ใช้กดตัวอักษรบนคีย์บอร์ด etc.

43 43 การจัดการข้อความผ่าน TextBox กำหนดข้อความให้แสดงบน TextBox ดึงข้อความบน TextBox มาใช้งาน textBox1.Text = "ข้อความ"; string str = textBox1.Text;

44 44 การ coding เพื่อกำหนด Properties 1. void myMethod() { 2. textBox1.Text = "123"; 3. textBox1.BackColor = Color.Red; 4. textBox1.Font=new Font("Tahoma",16,FontStyle.Bold); 5. }

45 45 Label อยู่ภายใต้ namespace : System.Windows.Forms. Label สำหรับแสดงข้อความ คล้าย TextBox แต่ผู้ใช้ไม่สามารถ แก้ไข หรือคัดลอกข้อความ ได้ (read only)

46 46 Button อยู่ภายใต้ namespace : System.Windows.Forms. Button เป็น control พื้นฐานที่มีใช้ งาน สำหรับกดเพื่อทำงาน บางอย่าง

47 47 Button Properties Text ข้อความที่แสดงบน Button Image รูปภาพที่แสดงบน Button Anchor กำหนดตำแหน่ง Button ตรึงบน Form

48 48 Button Events Click เกิดขึ้นเมื่อ click ที่ปุ่ม MouseHover เกิดขึ้นเมื่อนำเมาส์มาวางเหนือปุ่ม

49 49 แบบฝึกหัด (1) จงเขียนโปรแกรมสำหรับคำนวณเกรด โดยรับคะแนนจากผู้ใช้ โดยกำหนดว่า GradeScore A81 – 100 B70 – 80 C60 – 69 D50 – 59 F0 – 49

50 50 แบบฝึกหัด (2) จงเขียนโปรแกรมสำหรับสร้างเครื่องคิดเลข ให้ สามารถ +, -, *, / ได้ โดยรับค่าจากผู้ใช้ และ แสดงค่าผ่าน textBox

51 51 GroupBox & Panel อยู่ภายใต้ namespace : System.Windows.Forms.GroupBox และ System.Windows.Forms.Panel ตามลำดับ สำหรับรวม control ต่างๆ เข้าไว้ด้วยกัน GroupBox Panel

52 52 RadioButton อยู่ภายใต้ namespace : System.Windows.Forms. RadioButton สำหรับเลือกรายการที่มีอยู่ โดยเลือกได้เพียง 1 รายการในแต่ละกลุ่มเท่านั้น ( สามารถนำ GroupBox มา ช่วย เพื่อทำให้มีหลายกลุ่ม )

53 53 RadioButton Properties Text ข้อความที่แสดงบน RadioButton Checked บ่งบอกสถานะ (true = คอนโทรลถูกเลือก ) Appearance (Normal or Button) CheckAlign กำหนดตำแหน่งของ radiobutton

54 54 ตรวจสอบการเลือก RadioButton 1. private void button1_Click(object sender, System.EventArgs e) 2. { 3. if (radioButton1.Checked == true) 4. textBox1.Text=radioButton1.Text; 5. else if (radioButton2.Checked == true) 6. textBox1.Text=radioButton2.Text; 7. }

55 55 RadioButton Event : CheckChanged 1. private void radioButton1_CheckedChanged (object sender, System.EventArgs e) 2. { 3. if (radioButton1.Checked == true) 4. textBox1.Text=radioButton1.Text; 5. } private void radioButton2_CheckedChanged (object sender, System.EventArgs e) 8. { 9. if (radioButton2.Checked == true) 10. textBox1.Text=radioButton2.Text; 11. }

56 56 แบบฝึกหัด Radiobutton (1) จงเขียนโปรแกรมเพื่อคำนวณค่าผ่านประตู ตาม เงื่อนไขดังตาราง

57 57 CheckBox อยู่ภายใต้ namespace : System.Windows.Forms. CheckBox สำหรับเลือกรายการที่มีอยู่ โดยสามารถเลือกได้หลาย รายการ

58 58 CheckBox Properties Text ข้อความที่แสดงบน RadioButton Checked บ่งบอกสถานะ (true = คอนโทรลถูกเลือก ) ThreeState กำหนดการแสดงสถานะของการเลือกรายการ ( ถ้ากำหนดเป็น true มี 3 สถานะ : สีเข้ม สีเทา สีขาว ) CheckState เป็นการตรวจสอบสถานะเมื่อกำหนด ThreeState=true โดยคืนค่า : Checked, Unchecked, Indeterminate

59 59 ตรวจสอบการเลือก CheckBox 1. private void button1_Click(object sender, System.EventArgs e) 2. { 3. if (checkBox1.Checked == true) 4. textBox1.Text += checkBox1.Text; 5. if (checkBox2.Checked == true) 6. textBox1.Text += checkBox2.Text; 7. }

60 60 CheckBox Event : CheckChanged 1. private void checkBox1_CheckedChanged (object sender, System.EventArgs e) 2. { 3. if (checkBox1.Checked == true) 4. textBox1.Text += checkBox1.Text; 5. } private void checkBox2_CheckedChanged (object sender, System.EventArgs e) 8. { 9. if (checkBox2.Checked == true) 10. textBox1.Text += checkBox2.Text; 11. }

61 61 ListBox อยู่ภายใต้ namespace : System.Windows.Forms. ListBox สำหรับจัดเก็บรายการ สามารถเลือกรายการพร้อม กันได้มากกว่า 1 รายการ

62 62 ListBox Properties Items บรรจุรายการลง ListBox MultiColumn กำหนดความสามารถให้ ListBox แสดงรายการได้มากกว่า 1 column SelectionMode กำหนดจำนวนรายการที่เลือกได้ None, One, MultiSimple and MultiExtended SelectedItem แสดงข้อความที่เลือก (1 รายการ ) SelectedItems แสดงข้อความที่เลือก (>1 รายการ ) SelectedIndex แสดง index ของรายการที่เลือก (1 index) SelectedIndices แสดง index ของรายการที่เลือก (>1 index) Sorted เรียงลำดับรายการใน ListBox

63 63 การแสดงข้อความรายการที่เลือก SelectedItem SelectedItems for( int i = 0; i< listBox1.SelectedItems.Count;i++) { MessageBox.Show (listBox1.SelectedItems[i].ToString()) ; } label1.Text=listBox1.SelectedItem.ToString();

64 64 การแสดง index ของรายการที่ เลือก SelectedItem SelectedItems for( int i = 0; i< listBox1. SelectedIndices.Count;i++) { MessageBox.Show (listBox1.SelectedIndices[i].ToString()); } label1.Text=listBox1.SelectedIndex.ToString();

65 65 ListBox Methods Items.Add() เพิ่มรายการเข้า ListBox Items.Insert() แทรกรายการเข้า ListBox Items.Remove() ลบรายการที่ระบุออกจาก ListBox Items.RemoveAt() ลบรายการที่เลือกออกจาก ListBox Items.Clear() ลบรายการทั้งหมดออกจาก ListBox Items.Count() นับจำนวนรายการใน ListBox

66 66 ListBox Methods : เพิ่มรายการ Items.Add() Items.Insert() listBox1.Items.Add("ข้อความ"); listBox1.Items.Insert(indexที่ต้องการแทรก,"ข้อความ");

67 67 ListBox Methods : ลบรายการ Items.Remove() Items.RemoveAt() Items.Clear() listBox1.Items.Remove("ข้อความ"); listBox1.Items.RemoveAt(indexที่ต้องการลบ); listBox1.Items.Clear();

68 68 ListBox Events SelectedIndexChanged เกิดขึ้นเมื่อ index ของรายการที่ถูกเลือกเปลี่ยนไป private void listBox1_SelectedIndexChanged (object sender, System.EventArgs e) { // Add code here }

69 69 แบบฝึกหัด Listbox (1) จงเขียนโปรแกรมเพื่อคำนวณราคาหนังสือตาม รายการที่เลือก

70 70 ComboBox อยู่ภายใต้ namespace : System.Windows.Forms. ComboBox สำหรับจัดเก็บรายการ สามารถแสดงรายการที่ เลือกได้ 1 รายการเท่านั้น

71 71 ComboBox Properties SelectedItem SelectedIndex MessageBox.Show(comboBox1.SelectedIndex.ToString ()); label1.Text=comboBox1.SelectedItem.ToString () ;

72 72 ComboBox Methods : เพิ่ม รายการ Items.Add() Items.Insert() comboBox1.Items.Add("ข้อความ"); comboBox1.Items.Insert(indexที่ต้องการแทรก,"ข้อความ");

73 73 ComboBox Methods : ลบรายการ Items.Remove() Items.RemoveAt() Items.Clear() comboBox1.Items.Remove("ข้อความ"); comboBox1.Items.RemoveAt(indexที่ต้องการลบ); comboBox1.Items.Clear();

74 74 ComboBox Events SelectedIndexChanged เกิดขึ้นเมื่อ index ของรายการที่ถูกเลือกเปลี่ยนไป private void comboBox1_SelectedIndexChanged (object sender, System.EventArgs e) { // Add code here }


ดาวน์โหลด ppt บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ (p.2-26) ตอนที่ 2 Standard Windows Forms Controls (27-74)

งานนำเสนอที่คล้ายกัน


Ads by Google