s_know2

33
ใใใใใใใใใใใใ 2.1 ใใใใใใใใใใใใใ Visual C# กกกกกกกกกกกกกกกกกก WindowsFormsApplication กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกกกกกก กกกกกกก Code กกกกกกกกกกกกกกกกกกกกกกกกกกก กกกกกกกกก กกกกกกกกกกกกกกกกกกกกก 2.1.1 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("กกกกกก"); } } } กกกกกก 2.1.1 กกกกกกกกกกกกก Visual C# กกกกกกก กกกกกกกก header กกกกก กกกกกกกกกกกกกกกกกกกก ก กกกกกกก กกกกกกกกกกกกกก namespace กกกก WindowsFormsApplication1 9 9 1 9 8 7 6 2 3 4 5 1 2 3

Upload: -

Post on 03-Dec-2014

348 views

Category:

Documents


3 download

DESCRIPTION

ไม่เข้าใจอ่าน ใบความรู้กิจกรรมที่2

TRANSCRIPT

Page 1: S_know2

ใบความรู้�ที่�� 2.1

โครู้งสรู้างภาษา Visual C#

การใช้�งานในส่วนของ WindowsFormsApplication จะเพิ่��มความงายในการเข�ยนโปรแกรม เน��องจากม�ส่วนของ Code ที่��โปรแกรมส่ร�างข��นมาให้�แบบอ"ตโนม"ต� ซึ่��งม�ร%ปแบบดั"งร%ปที่�� 2.1.1

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;

namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

MessageBox.Show("ส่ว"ส่ดั�"); } }}

ร%ปที่�� 2.1.1

โครงส่ร�างภาษา Visual C#

ห้มายเลข เป*นส่วน header ใช้�ในการประกาศค,าส่"�งตาง ๆ ห้ ม า ย เ ล ข เ ป* น ส่ ว น ป ร ะ ก า ศ namespace ช้�� อ WindowsFormsApplication1

ห้มายเลข เป*นส่วนประกาศ class ช้��อ Form1

ห้มายเลข เป*นส่วนประกาศ constructor ห้ร�อ Function

ตางๆ

9

9

19

8

7

6

23

4

5

12

3

4

Page 2: S_know2

ห้มายเลข เป*นส่วนประกาศ method

ห้มายเลข เป*นส่วนพิ่�มพิ่.ค,าส่"�ง statement

ห้มายเลข เป*นส่วนประกาศ namespace ช้��อ System ห้มายเลข เป*นส่วนประกาศ class ช้��อ Collections, ComponentModel, Data, Drawing, Linq, Text, Windows ห้มายเลข เป*นส่วนประกาศ class ช้��อ Generic, Forms

การก,าห้นดัขอบเขตของส่วนตางๆ จะใช้� เคร��องห้มายป/กกาเป0ดั {

เพิ่��อเป*นจ1ดัเร��มต�น และใช้�เคร��องห้มายป/กกาป0ดั } เพิ่��อเป*นจ1ดัส่��นส่1ดัของส่วนน"�นๆ เส่มอ จะส่"งเกตวาส่วนของ namespace จะม�ป/กกาเป0ดัและป/กกาป0ดัค%ก"น { } และจะเป*นส่วนที่��คล1ม code ที่"�งห้มดัไว� ส่"งเกตวา ต,าแห้นงของป/กกาเป0ดัและ ป/กกาป0ดัจะตรงก"น

5

6

7

8

9

Page 3: S_know2

ใบความรู้�ที่�� 2.2

รู้�จั�กอี�เวนต์�(event)

โปรแกรม Microsoft Visual C# จะม�การที่,างานในล"กษณะที่��เร�ยกวา Event Driven ค�อ ม�การที่,างานที่��ตอบส่นองตอเห้ต1การณ.ตางๆ และม�ล"กษณะเป*น Visual ค�อ การมองเห้4นไดั� เช้น ป15ม(button) ที่��วางอย%บน Form จะม�เห้ต1การณ. ค�อ คล�กป15มเพิ่��อเข�ยนโปรแกรมในส่วนของ method ที่��ช้��อวา button1_click เป*นต�น และมองวา Form ค�อ ว"ตถุ1 1 ช้��น ป15ม ค�อ ว"ตถุ1 1 ช้��น ว"ตถุ1แตละช้��นจะม�ค1ณส่มบ"ต�เฉพิ่าะของต"วเอง เช้น ช้��อ ส่�พิ่��น ส่�ต"วอ"กษร เป*นต�น

ร%ปที่�� 2.2.1 ห้น�าตางแส่ดัง อ�เวนต. ตางๆจากร%ปที่�� 2.2.1 จะแส่ดัง อ� เวนต.ตางๆ ของป15ม button1 ซึ่��ง

ส่ามารถุเข�าไปดั%อ�เวนต.ตางๆ ไดั� ห้มายเลข ป15มอ�เวนต.ของว"ตถุ1น"�นๆ แตละช้น�ดัจะม�อ�เวนต.ตางๆ ก"นไป ห้มายเลข อ�เวนต. ช้��อ Click

ห้มายเลข ค�อ ค,าอธิ�บายอ�เวนต.ที่��เล�อก ข�อความ

ต"วอยางการใช้�อ�เวนต. ช้��อ Click ของ button1 ที่,าไดั�ดั"งน��

1

2

3

1

2

3

Page 4: S_know2

ร%ปที่�� 2.2.2 ห้น�าตาง Form1

1. ส่ร�าง Form ตามร%ปที่�� 2.2.2 และคล�กที่��ป15มที่"กที่าย ดั"งห้มายเลข เพิ่��อเล�อกป15ม button1

ใช้�ในการเข�ยนโปรแกรมในอ�เวนต.

ร%ปที่�� 2.2.3 การส่ร�างอ�เวนต.

2. เล�อกอ�เวนต.ดั"งร%ปที่�� 2.2.3 ห้มายเลข แล�วดั"บเบ�ลคล�กที่��อ�เวนต. ช้��อ Click ดั"งห้มายเลข แล�วพิ่�มพิ่.ค,าส่"�งใน Event ช้��อ Click ดั"งห้มายเลข

namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

MessageBox.Show("ส่ว"ส่ดั� " + textBox1.Text); } }}

3. แล�วร"นโปรแกรม โดัยคล�กป15ม (Start Debugging)

ร%ปที่�� 2.2.4 การป9อนช้��อ และคล�กป15มที่"กที่าย

4

5

6

5 67

7

8

9

Page 5: S_know2

4. จะไดั� Form1 ดั"งร%ป 2.2.4 แล�วป9อนช้��อในที่��น��พิ่�มพิ่.ข�อความวา ส่ส่วที่. ดั"งห้มายเลข แล�วคล�กป15มที่"กที่าย ห้มายเลข

5. จะปรากฏห้น�าตางไดัอะล4อก แส่ดังข�อความวา ส่ว"ส่ดั� ส่ส่วที่. ดั"งร%ปที่�� 2.2.5

ร%ปที่�� 2.2.5 ห้น�าตางแส่ดังข�อความวา ส่ว"ส่ดั� ส่ส่วที่.

98

Page 6: S_know2

ใบความรู้�ที่�� 2.3

ชน�ดขอีงขอีม�ล ต์�วแปรู้ และต์�วด#าเน�นการู้

ในการเข�ยนโปรแกรมต�องม�การใช้�งานข�อม%ล ซึ่��งอย%ในร%ปแบบตางๆ เช้น ภาพิ่ ข�อความ ต"วเลข ว"นเวลา โดัยข�อม%ลจะถุ%กน,ามาใช้�ในการค,านวณ ห้ร�อประมวลผลในร%ปแบบตางๆ โดัยการใช้�ต"วแปรเพิ่��อเก4บคาของข�อม%ลเห้ลาน"�น

ชน�ดขอีม�ล (Data Types) ในภาษาซี�ชารู้�ป (C#)

ในภาษาซึ่�ช้าร.ป ก,าห้นดัช้น�ดัของข�อม%ลไว�ห้ลากห้ลายช้น�ดัเพิ่��อรองร"บการจ"ดัเก4บข�อม%ลห้ลายๆ ประเภที่ ดั"งตาราง

ชน�ดขอีม�ล

ค#าอีธิ�บาย ขอีบเขต์ขอีม�ล

sbyteจ,านวนเต4มที่"�งบวกและลบ ขนาดั 8 บ�ต

-128 ถุ�ง 127

shortจ,านวนเต4มที่"�งบวกและลบ ขนาดั 16 บ�ต

-32,768 ถุ�ง 32,767

intจ,านวนเต4มที่"�งบวกและลบ ขนาดั 32 บ�ต

-2,147,483,648 ถุ� ง 2,147,483,647

longจ,านวนเต4มที่"�งบวกและลบ ขนาดั 64 บ�ต

-263 ถุ�ง 263-1

byte จ,านวนเต4มบวก ขนาดั 8 บ�ต 0 - 255

ushortจ,านวนเต4มบวก ขนาดั 16

บ�ต0 - 65,535

uintจ,านวนเต4มบวก ขนาดั 32

บ�ต0 - 4,294,967,295

ulongจ,านวนเต4มบวก ขนาดั 64

บ�ต0 ถุ�ง 264 - 1

Page 7: S_know2

floatจ,านวนที่ศน�ยม ขนาดั 32

บ�ต

ค าลบ -3.4 x 1038 ถุ�ง -1.4 x 10-45

ค า บ ว ก 1.4 x 10-45 ถุ� ง 3.4 x 1038

doubleจ,านวนที่ศน�ยม ขนาดั 64

บ�ต

คาลบ -1.8 x 10308 ถุ�ง -4.9 x 10-324

ค าบวก 4.9 x 10-324 ถุ�ง 1.8 x 10308

bool ข�อม%ลช้น�ดัตรรกะม� 2 คาค�อ คาจร�ง (true)

และคาเที่4จ (false)

char ข�อม%ลช้น�ดัต"วอ"กษรต"วเดั�ยว เช้น ‘A’ , ‘1’

stringข�อม%ลที่��ประกอบดั�วยต"วอ"กษรห้ลายต"ว

เช้น “Hello”

ต์�วแปรู้ (Variables)

ต"วแปร (variable) เป*นการอ�างถุ�งข�อม%ล โดัยคาของต"วแปร ส่ามารถุเปล��ยนแปลงไดั�ตลอดัเวลาที่��โปรแกรมก,าล"งที่,างานอย% ในภาษาซึ่�ช้าร.ป ต"วแปรที่1กต"วต�องถุ%กประกาศ กอนที่��จะถุ%กน,ามาใช้�งาน โดัยม�การระบ1ช้น�ดัข�อม%ลที่��จะใช้�ก"บต"วแปรน"�นๆ ไว�

ภาษาซึ่�ช้าร.ป ม�กฎเกณฑ์.การต"�งช้��อให้�ต"วแปร ดั"งน��

ต"วอ"กษรต"วแรกของช้��อต�องเป*นต"วอ"กษรภาษาอ"งกฤษ ห้ร�อต"วข�ดัเส่�นใต�(_)

ช้��อต"วระบ1ต�องประกอบดั�วยต"วอ"กษรภาษาอ"งกฤษ (A-Z, a-z)

ต"วเลข (0-9) ห้ร�อเคร��องห้มายข�ดัเส่�นใต� (_) เที่าน"�น ช้��อต"วระบ1ต�องไมซึ่,�าก"บค,าส่งวน (reserved word)

ค,าส่งวน ม�ดั"งตอไปน��abstra

ctas base bool break byte case

catch char check class const contin deci

Page 8: S_know2

ed ue maldefaul

tdelegate

do double

else enum event

explicit

extern

false finally fixed float for

foreach

get goto if implicit

in int

interface

internal

is lock long namespace

new

null object operator

out override

params

partial

private

protected

public readonly

ref return sbyte

sealed

set short sizeof stackalloc

static string

struct switch this throw true try typeof

unit ulong unchecked

unsafe

ushort using value

virtual void volatile

where while yield

ร%ปแบบการประกาศต"วแปร ต" วอย างการประกาศต" วแปรม�ดั"งน��

ช้น�ดัของข�อม%ล ช้��อต"วแปร;

ต" ว อ ย า ง ก า ร ป ร ะ ก า ศ ต" ว แ ป ร ม� ดั" ง น��double x, y;

x และ y เป*นช้��อของต"วแปร ที่��ม�ช้น�ดัข�อม%ลเป*นจ,านวนที่ศน�ยม

นอกจากการประกาศต"วแปรตามแบบข�างต�นแล�ว เราย"งส่ามารถุก,าห้นดัคาเ ร�� ม ต� น ใ ห้� ก" บ ต" ว แ ป ร น"� น ๆ ไ ดั� อ� ก ดั� ว ย โ ดั ย ม� ร% ป แ บ บ ดั" ง น��

ช้น�ดัของข�อม%ล ช้��อต"วแปร = คาเร��มต�น;

int i = 100;

i เป*นช้��อของต"วแปร ที่��ม�ช้น�ดัข�อม%ลเป*นจ,านวนเต4มและม�การก,าห้นดัคาเร��มต�นเป*น 100

Page 9: S_know2

การู้เข�ยนค#าอีธิ�บายโปรู้แกรู้มในการเข�ยนโปรแกรมควรม�การเข�ยนข�อความที่��อธิ�บายการที่,างาน

ของโปรแกรมไว�ดั�วย เพิ่��อให้�ผ%�เข�ยนโปรแกรมส่ามารถุกล"บมาอานไดั� ในกรณ�ที่��เข�ยนโปรแกรมขนาดัให้ญ่ การเข�ยนค,าอธิ�บายโปรแกรมน"�นที่,าไดั� 2

ว�ธิ� ดั"งน��1. ใช้�เคร��องห้มาย /* เพิ่��อเป0ดั และป0ดัดั�วยเคร��องห้มาย */

2. ใช้�เคร��องห้มาย // น,าห้น�าข�อความที่��อธิ�บาย ไปจนถุ�งส่��นส่1ดับรรที่"ดัน"�น

ค'าคงที่�� (Constants)

คาคงที่��เป*นการอ�างถุ�งข�อม%ลเช้นเดั�ยวก"บต"วแปร ส่��งที่��แตกตางจากต"วแปร ค�อ คาของม"นไมส่ามารถุเปล��ยนแปลงไดั�อ�กห้ล"งจากการประกาศ

ในภาษาซึ่�ช้าร.ป คาคงที่��ต�องถุ%กประกาศโดัยระบ1ช้น�ดัข�อม%ลและคาต"�งต�นกอนถุ%กน,ามาใช้�งานเส่มอ การประกาศคาคงที่��จะคล�ายคล�งก"บการประกาศต"วแปร แตกตางก"นตรงที่��ต�องม�การระบ1ดั�วยค�ย.เว�ร.ดั const

ร% ป แ บ บ ค,า ส่"� ง

const ช้น�ดัของข�อม%ล ช้��อคาคงที่�� = คาที่��คาคงที่��ถุ%กใช้�เป*นต"วแที่น;

const int a = 1;

/* a เป*นช้��อของคาคงที่�� ที่��ม�คาเที่าก"บ 1 ม�ช้น�ดัข�อม%ลเป*นจ,านวนเต4ม */

ต์� ว ด#า เ น� น ก า รู้ ที่ า ง ค ณิ� ต์ ศ า ส ต์ รู้�

ในภาษาซึ่�ช้าร.ป ม�ต"วอยางต"วดั,าเน�นการที่างคณ�ตศาส่ตร. ดั"งน��

ต์�วด#าเน�นการู้ที่างคณิ�ต์ศาสต์รู้�

ค#าอีธิ�บาย ต์�วอีย'าง

+บวก z = x + y; // z ค� อ ค า x

บวก y- ลบ z = x - y; // z ค�อคา x ลบ y

Page 10: S_know2

*ค%ณ z = x * y; // z ค�อคา x ค%ณ

y

/ห้าร z = x / y; // z ค�อคา x ห้าร

y

%เศษจากการห้าร

z = x % y; // z ค� อ เ ศ ษ ที่��เห้ล�อจาก x ห้าร y

ถุ�าม�การใช้�ต"วดั,าเน�นการมากกวาห้น��งต"ว ภาษาซึ่�ช้าร.ปจะค,านวณคาเร�ยงตามล,าดั"บกอนห้ล"งดั"งน��

( )

* , / และ %

+ และ -

ห้ากต"วดั,าเน�นการม�ล,าดั"บเที่าเที่�ยมก"น ค,านวณจากซึ่�ายไปขวาต์�วด#าเน�นการู้เปรู้�ยบเที่�ยบ

ต"วดั,าเน�นการเปร�ยบเที่�ยบ ใช้�ในการเปร�ยบเที่�ยบข�อม%ลส่องข�างของต"วดั,าเน�นการ ซึ่��งผลการเปร�ยบเที่�ยบจะไดั�ผลล"พิ่ธิ.เป*นจร�ง (True) ห้ร�อเที่4จ (False) เที่าน"�น ต"วดั,าเน�นการเปร�ยบเที่�ยบม�ดั"งน��

ต์�วด#าเน�นการู้เปรู้�ยบเที่�ยบ

ค#าอีธิ�บาย ต์�วอีย'าง

= = เที่าก"บ x = = y เป*นจร�งเม�� อ x = y และเป*นเที่4จเม��อ x ≠ y

!= ไมเที่าก"บx != y เป*นจร�งเม�� อ x ≠y และเป*นเที่4จเม��อ x = y

< น�อยกวาx < y เป*นจร�งเม�� อ x < y และเป*นเที่4จเม��อ x ≥ y

Page 11: S_know2

> มากกวาx > y เป*นจร�งเม�� อ x > y และเป*นเที่4จเม��อ x ≤y

<=น�อยกวาห้ร�อ

เที่าก"บ

x <= yเป*นจร�งเม�� อ x ≤ y และเป*นเที่4จเม��อ x > y

>=มากกวาห้ร�อ

เที่าก"บ

x >= yเป*นจร�งเม�� อ x ≥ y และเป*นเที่4จเม��อ x < y

ต์�วด#าเน�นการู้ที่างต์รู้รู้กศาสต์รู้� ต"วดั,าเน�นการที่างตรรกศาส่ตร.ใช้�เปร�ยบเที่�ยบข�อม%ลดั�าน

ตรรกศาส่ตร. ซึ่��งผลล"พิ่ธิ.ที่��ไดั�จะเป*นจร�ง (True) ห้ร�อเที่4จ (False) เที่าน"�น ม�ดั"งน��

ต์�วด#าเน�นการู้ต์รู้รู้กศาสต์รู้�

ค#าอีธิ�บาย ต์�วอีย'าง

!น�เส่ธิ

(NOT)

!p เป*นจร�ง เม�� อคา p เป*นเที่4จ และเป*นเที่4จเม��อคา p เป*นจร�ง

&&และ

(AND)

p && q เป*นจร�งเม��อ p และ q

เป*นจร�ง

|| ห้ร�อ (OR)p || q เป*นจร�งเม�� อ p และ q

เป*นเที่4จ

^ Exclusive OR

p ^ q เป*นจร�งเม��อ p และ q ม�คาตางก"น

ต์�วด#าเน�นการู้ในการู้ก#าหนดค'า

Page 12: S_know2

ต"วดั,าเน�นงานในการก,าห้นดัคา ส่ามารถุใช้�ในการก,าห้นดัคาให้�ก"บต"วแปร ต"วดั,าเน�นการใน การก,าห้นดัคาดั"งตาราง

ต์�วด#าเน�นการู้ในการู้ก#าหนด

ค'าค#าอีธิ�บาย ต์�วอีย'าง

=ก,าห้นดัคา x = y; ห้มายถุ�ง น,า

คา y ให้�ก"บ x

+=เพิ่��มคาแล�วก,าห้นดัคา x += y; ม�คาเที่าก"บ x

= x + y;

-=ลดัคาแล�วก,าห้นดัคา x -= y; ม�คาเที่าก"บ x

= x - y;

*=ค%ณแล�วก,าห้นดัคา x *= y; ม�คาเที่าก"บ x

= x * y;

/=ห้ารแล�วก,าห้นดัคา x /= y; ม�คาเที่าก"บ x

= x / y;

%=ห้าเศษจากการห้ารแล�ว

ก,าห้นดัคาx %= y; ม�คาเที่าก"บ x = x % y;

ต์�วด#าเน�นการู้อี+�นๆนอกจากต"วดั,าเน�นการที่��กลาวมาแล�ว ภาษาซึ่�ช้าร.ป ย"งม�ต"วดั,าเน�นกา

รอ��นๆ อ�ก เช้น + ส่,าห้ร"บ string ค�อ การน,า string 2 คามาตอก"น

(concatenate) ++ เป*นต"วดั,าเน�นการเพิ่��มคา โดัยที่�� x++ เที่�ยบเที่าก"บ

x=x+1 - เป*นต"วดั,าเน�นการลดัคา โดัยที่�� x-- เที่�ยบเที่าก"บ x=x-1

Page 13: S_know2

ใบความรู้�ที่�� 2.4

การู้ที่#างานและค#าส��งพื้+.นฐาน

หล�กการู้ที่#างานขอีงคอีมพื้�วเต์อีรู้�คอมพิ่�วเตอร.จะที่,างานตามค,าส่"�งที่��เข�ยนไว� โดัยห้ล"กการที่,างานจะม�

ข" �นตอนดั"งน�� 1. ร"บข�อม%ลเข�า2. ประมวลผลข�อม%ล3. แส่ดังผลข�อม%ลห้ล"กการที่,างานของคอมพิ่�วเตอร.แส่ดังดั"งร%ปที่�� 2.4.1

ร%ปที่�� 2.4.1 ห้ล"กการที่,างานของคอมพิ่�วเตอร.

ต"วอยางการค,านวณพิ่��นที่��ส่��เห้ล��ยม เข�ยนเป*นร%ปแบบตามห้ล"กการที่,างานของคอมพิ่�วเตอร.ไดั�ดั"งน��

ร%ปที่�� 2.4.2 การค,านวณพิ่��นที่��ส่��เห้ล��ยม

การู้รู้�บขอีม�ลเขาการที่,างานของคอมพิ่�วเตอร.ม�การร"บข�อม%ลเข�ามาเพิ่��อรอการประมวล

ผล โดัยส่ามารถุใช้� Control ตางๆ ในการร"บข�อม%ล ไดั�แก TextBox, RichTextBox, ListBox, ComboBox

การู้ปรู้ะมวลผลขอีม�ล

ร"บข�อม%ลเข�า(Input)

ประมวลผลข�อม%ล

(Process)

แส่ดังผลข�อม%ล(Output)

ร"บคาความกว�าง

และความยาว

ค,านวณพิ่��นที่��ส่��เห้ล��ยม =

ความกว�าง x ความยาว

แส่ดังคาพิ่��นที่��

ส่��เห้ล��ยม

Page 14: S_know2

ผลล"พิ่ธิ.ที่��

เม��อร"บข�อม%ลเข�ามาแล�ว คอมพิ่�วเตอร.จะที่,างานตามค,าส่"�งที่��ไดั�ก,าห้นดัไว� เช้น ค,าส่"�งในการก,าห้นดัคา ค,าส่"�งในการค,านวณ ค,าส่"�งในการเปร�ยบเที่�ยบ

การู้แสดงผลขอีม�ลห้ล"งจากประมวลผลข�อม%ลเส่ร4จ แล�วอาจจะม�การน,าข�อม%ลมาแส่ดัง

ผล โดัยส่ามารถุใช้� Control ตางๆ ในการแส่ดังผลข�อม%ล เช้น Label,

TextBox, ComboBox และ ListBox นอกจากน��ย"งม�ออบเจ4กต. MessageBox เพิ่��อใช้�ในการแส่ดังผลข�อม%ลไดั�เช้นก"น ต"วอยางการใช้�ค,าส่"�งออบเจ4กต. MessageBox

ถุ�าต�องการน,าข�อม%ลจาก textBox1 ซึ่��งเก4บข�อความ จ�ตรกร มา“ ”

แส่ดังที่�� MessageBox โดัยข��นต�นประโยควา “ส่ว"ส่ดั�ค1ณ ” แล�วตอดั�วยข�อความดั"งกลาว จะเข�ยนค,าส่"�งดั"งน��

ในที่��น��เคร��องห้มาย + ห้มายถุ�งการเช้��อมตอระห้วาง string ก"บ string

ร%ปแบบค,าส่"�ง

ข�อความ : ข�อความที่��ปรากฏบนห้น�าตางใน MessageBox

ห้"วข�อเร��อง : ข�อความที่��ปรากฏบนแถุบดั�านบนของ MessageBox

ป15ม : เป*นป15มที่��จะให้�ผ%�ใช้�งานเล�อกกระที่,าห้ล"งจากอานข�อความแล�ว

ส่"ญ่ร%ป : เป*นภาพิ่แส่ดังประกอบก"บข�อความ (ภาพิ่แส่ดังอารมณ.ของข�อความ)

MessageBox.Show(“ส่ว"ส่ดั�ค1ณ ” +

MessageBox.Show(ข�อความ [,ห้"วข�อเร��อง] [,ป15ม] [,ส่"ญ่ร%ป] [,DefaultButton] );

Page 15: S_know2

DefaultButton : ให้�เคอร.เซึ่อร.ไปรออย% ณ ต,าแห้นงของป15มที่��ต�องการ

ป12มที่��แสดงผลการู้เรู้�ยกใชงาน ป12มที่��ปรู้ากฏ

MessageBoxButtons.AbortRetryIgnoreMessageBoxButtons.OKMessageBoxButtons.OKCancelMessageBoxButtons.RetryCancelMessageBoxButtons.YesNoMessageBoxButtons.YesNoCancel

ส�ญรู้�ปที่��แสดงผลการู้เรู้�ยกใชงาน ส�ญรู้�ปที่��ปรู้ากฏ

MessageBoxIcon.AsteriskMessageBoxIcon.ErrorMessageBoxIcon.ExclamationMessageBoxIcon.HandMessageBoxIcon.InformationMessageBoxIcon.None

ไมแส่ดังส่"ญ่ร%ปใดัๆ

MessageBoxIcon.Question

MessageBoxIcon.Sto

Page 16: S_know2

pMessageBoxIcon.Warning

Page 17: S_know2

ใบความรู้�ที่�� 2.5

การู้แปลงชน�ดขอีม�ลการู้เข�ยนโปรู้แกรู้มแบบล#าด�บ

เน��องจากภาษาซึ่�ช้าร.ปน"�นเข�มงวดัเร��องช้น�ดัข�อม%ลมาก เราไมส่ามารถุน,าข�อม%ลตางช้น�ดัก"นมา ใช้�งานรวมก"นไดั� แตจะต�องน,ามาที่,าการแปลงให้�เป*นข�อม%ลช้น�ดัเดั�ยวก"นกอนจ�งจะส่ามารถุน,ามาใช้�งานรวมก"นไดั�การู้แปลงชน�ดขอีม�ล

เมที่5อีด ความหมาย ต์�วอีย'างint.Parse(ข�อความ);

แปลงข�อม%ลช้น�ดัต"วอ"กษร (string) ให้�เป*นข�อม%ลช้น�ดัต"วเลขจ,านวนเต4ม (int)

i = int.Parse(textBox1.Text); ห้มายถุ�งแปลงข�อม%ลที่��ร "บจาก textBox1

ซึ่��งเป*นข�อม%ลช้น�ดั string ให้�เป*นข�อม%ลช้น�ดัจ,านวนเต4ม แล�วเก4บคาในต"วแปร i ห้ร�อi = int.Parse(“22”); ห้มายถุ�งแปลงข�อม%ล “22”

ซึ่��งเป*นข�อม%ลช้น�ดั string ให้�เป*นต"วเลข 22 แล�วเก4บคาในต"วแปร i

double.Parse(ข�อความ);

แปลงข�อม%ลช้น�ดัต"วอ"กษร (string) ให้�เป*นข�อม%ลช้น�ดัต"วเลขที่ศน�ยม (double)

i = Double.Parse(textBox1.Text); ห้มายถุ�งแปลงข�อม%ลที่��ร "บจาก textBox1 ซึ่��งเป*นข�อม%ลช้น�ดั string ให้�เป*นข�อม%ลช้น�ดัต"วเลขที่ศน�ยม แล�วเก4บคาในต"วแปร i ห้ร�อ

Page 18: S_know2

เมที่5อีด ความหมาย ต์�วอีย'างi = Double.Parse(“22.45”); ห้มายถุ�งแปลงข�อม%ล

“22.45” ซึ่��งเป*นข�อม%ลช้น�ดั string ให้�เป*นคาต"วเลข 22.45 แล�วเก4บคาในต"วแปร i

ToString(); แปลงข�อม%ลประเภที่ใดั ๆ ให้�เป*นข�อม%ลช้น�ดัต"วอ"กษร (string)

int a = 20;textBox1.Text = a.ToString();ห้มายถุ�ง แปลงต"วเลข 20

ซึ่��งเป*นข�อม%ลช้น�ดัจ,านวนเต4ม (int) ให้�เป*นข�อม%ลช้น�ดัต"วอ"กษร แล�วแส่ดังผลใน textbox1 (textBox จะแส่ดังผลไดั�เฉพิ่าะข�อม%ลช้น�ดั string)

DateTime.Now.Tostring();

แปลงข�อม%ลช้น�ดัว"นเวลา (DateTime) ให้�เป*นข�อม%ลช้น�ดัต"วอ"กษร (string)

str1 = DateTime.Now.Tostring(); ห้มายถุ�ง แปลงข�อม%ลว"นเวลาป@จจ1บ"น (DateTime.Now) ให้�เป*นข�อม%ลช้น�ดัต"วอ"กษร แล�วเก4บคาในต"วแปร str1

การู้เข�ยนโปรู้แกรู้มแบบล#าด�บ

การเข�ยนโปรแกรมแบบโครงส่ร�างเป*นการเข�ยนโปรแกรมที่��ม�ร%ปแบบช้"ดัเจน ไมซึ่,�าซึ่�อน แบงออกเป*น 3 ร%ปแบบ ค�อ แบบล,าดั"บ แบบเล�อก และ

Page 19: S_know2

แบบวนซึ่,�า ในที่��น��จะกลาวถุ�งการเข�ยนโปรแกรมแบบล,าดั"บ การเข�ยนโปรแกรมแบบล,าดั"บม�ล"กษณะการที่,างานตามล,าดั"บกอนห้ล"งของค,าส่"�งที่��เข�ยนไว�

ต์�วอีย'างส�ญล�กษณิ�ผ�งงานที่��ใชในการู้เข�ยนผ�งงานแบบล#าด�บ

ต์�วอีย'างการู้เข�ยนผ�งงานโปรู้แกรู้มแบบล#าด�บเข�ยนโปรแกรมในการค,านวณคาพิ่��นที่��ส่��เห้ล��ยม โดัยร"บคาความกว�าง

และความยาวจากค�ย.บอร.ดัเข�ยนเป*นผ"งงานไดั�ดั"งน��

ก,าห้นดัคา เช้น ค,าส่"�ง BackColor = Color.Yellow;

ร"บเข�า ห้ร�อ แส่ดังผล เช้น MessageBox.Show(“Hello”); เป*นค,าส่"�งแส่ดังผล

เร��มต�น ห้ร�อ จบการที่,างาน

แส่ดังที่�ศที่างการเช้��อมโยงของผ"งงาน

ที่�ศที่างการเช้��อมโยง

Page 20: S_know2

ร"บคาความกว�างร"บคาความยาว

ค,านวณคาพิ่��นที่��ส่��เห้ล��ยม = ความกว�าง x ความยาว

จบ

เร��มต�น

แส่ดังคาพิ่��นที่��ส่��เห้ล��ยม

Page 21: S_know2

ใบความรู้�ที่�� 2.5

ฟั7งก�ช�น

ฟั@งก.ช้"น (Function) ค�อ กล1มของค,าส่"�งที่��น,ามาเร�ยงตอก"น เพิ่��อการที่,างานอยางใดัอยางห้น��งส่ามารถุเร�ยกใช้�ซึ่,�าๆ ก"นไดั�ไมจ,าก"ดัจ,านวนคร"�ง ฟั@งก.ช้"นจะช้วยให้�เราแบงงานออกเป*นงานยอย ๆ

ในที่��น��เราจะกลาวถุ�งฟั@งก.ช้"นส่,าเร4จร%ปในโปรแกรม Visual C# ที่��ม�ให้�เราเล�อกใช้�ไดั�ที่"นที่� และตอไปน��เราจะเร�ยกวา เมที่4อดั (method)

ฟั7งกช�ช�นที่างคณิ�ต์ศาสต์รู้�ฟั@งก.ช้"นที่างคณ�ตศาส่ตร. ค�อ ฟั@งก.ช้"นที่��ใช้�ในการค,านวณคาที่าง

คณ�ตศาส่ตร.อยางใดัอยางห้น��ง โดัยม�เมที่4อดัที่��ใช้�ดั"งน��

เมที่5อีด ความหมาย ต์�วอีย'างMath.Pow(ฐาน,

เลขช้��ก,าล"ง)

ห้าคายกก,าล"ง (Power)

Math.Pow(x,2) ห้มายถุ�งห้าคา x2

Math.Sqrt(ต"วเลข) ห้าคารากที่��ส่อง (Square Root)

Math.Sqrt(x) ห้มายถุ�งห้าคารากที่��ส่องของ x

Math.Abs(ต"วเลขที่ศน�ยม)

ห้าคา Absolute Math.Abs(x) ห้มายถุ�ง ห้าคา |x|

Math.PI ห้าคา ¶ Math.PI ม�คา 22 ÷ 7

น"�นเองMath.Sin(ม1มที่��ม�คาเป*นเรเดั�ยน)

ห้าคา sine Math.Sin(x) ห้มายถุ�ง ห้าคา sin(x)

Math.Cos(ม1มที่��ม�คาเป*นเรเดั�ยน)

ห้าคา cosine Math.Cos(x) ห้มายถุ�ง ห้าคา cos(x)

Math.Tan(ม1มที่��ม�คา ห้าคา tangent Math.Tan(x) ห้มายถุ�ง

Page 22: S_know2

เมที่5อีด ความหมาย ต์�วอีย'างเป*นเรเดั�ยน) ห้าคา tan(x)

Math.BigMul(จ,านวนเต4มต"วที่�� 1,

จ,านวนเต4มต"วที่�� 2)

ห้าคาผลค%ณของต"วเลข 2 ต"ว

Math.BigMul(x,y) ห้มายถุ�ง ห้าคาผลค%ณของ x ก"บ y (x x y)

Math.Ceiling(ต"วเลขที่��ม�ที่ศน�ยม)

ห้าคาจ,านวนเต4มที่��ถุ%กป@ดัข��นมาจากการม�ที่ศน�ยม

Math.Ceiling(10.02) จะไดั�ผลล"พิ่ธิ.ค�อ 11 จะป@ดัข��นที่"�งห้มดัโดัยไมส่นใจที่ศน�ยม

Math.Floor(ต"วเลขที่��ม�ที่ศน�ยม)

ห้าคาจ,านวนเต4มที่��ถุ%กป@ดัลงจากการม�ที่ศน�ยม

Math.Floor(10.99) จะไดั�ผลล"พิ่ธิ. ค�อ 10 จะป@ดัลงที่"�งห้มดัโดัยไมส่นใจที่ศน�ยม

Math.Truncate(ต"วเลขที่��ม�ที่ศน�ยม)

ห้าคาจ,านวนเต4มที่��ถุ%กป@ดัลงจากการม�ที่ศน�ยม

Math.Truncate(10.99) จะไดั�ผลล"พิ่ธิ.ค�อ 10

เช้นเดั�ยวก"บ Math.Floor(10.99) จะป@ดัที่ศน�ยมที่��งไปเห้ล�อแตจ,านวนเต4ม

Math.Round(ต"วเลขที่��ม�ที่ศน�ยม)

ห้าคาจ,านวนเต4ม โดัยจะป@ดัข��นเม��อม�คา >0.5 แตถุ�าเลขที่��เป*นจ1ดัที่ศน�ยมม�คา 0.5 พิ่อดั� จะข��นก"บต"วเลขจ,านวนเต4มวาเป*นเลขค%ห้ร�อเลขค�� ห้ากเป*นเลขค%จะป@ดั .5 ที่��งไป แต

Math.Round(10.4) ผลล"พิ่ธิ.ค�อ 10Math.Round(10.7) ผลล"พิ่ธิ.ค�อ 10Math.Round(10.5) ผลล"พิ่ธิ.ค�อ 10Math.Round(11.3) ผลล"พิ่ธิ.ค�อ 11Math.Round(11.5) ผลล"พิ่ธิ.ค�อ 12Math.Round(11.6)

Page 23: S_know2

เมที่5อีด ความหมาย ต์�วอีย'างถุ�าเป*นเลขค�� จะป@ดั .5 ข��น

ผลล"พิ่ธิ.ค�อ 12

Math.Round(ต"วเลขที่��ม�ที่ศน�ยม, จ,านวนต,าแห้นงที่ศน�ยมที่��ต�องการ)

ห้าคาจ,านวนที่ศน�ยมที่��ม�ต,าแห้นงที่ศน�ยมตามต�องการ

Math.Round(23.1243565, 2) จะไดั�ผลล"พิ่ธิ.ค�อ 23.12Math.Round(62.57879821, 4) จะไดั�ผลล"พิ่ธิ.ค�อ 62.5788Math.Round(11.555, 2) จะไดั�ผลล"พิ่ธิ.ค�อ 11.56 (เน��องจากต"วกอนห้น�าเป*นเลขค��จ�งป@ดัไปห้าเลขค%)Math.Round(11.565, 2) จะไดั�ผลล"พิ่ธิ. ค�อ 11.56 (เน��องจากต"วกอนห้น�าเป*นเลขค%จ�งป@ดัที่��ง)

ฟั7งก�ช�นเก��ยวก�บ string

ฟั@งก.ช้"นเก��ยวก"บ string ค�อ ฟั@งก.ช้"นที่��ใช้�ในการจ"ดัการเก��ยวก"บข�อความอยางใดัอยางห้น��ง โดัยม� เมที่5อีดที่��ใชด�งน�.

เมที่5อีด ความหมาย ต์�วอีย'างLength น"บจ,านวนอ"กขระภายใน

string

len1 = str1.Length;len1 ค�อจ,านวนต"วอ"กขระ

Page 24: S_know2

เมที่5อีด ความหมาย ต์�วอีย'างที่"�งห้มดัของ str1

ToLower

เปล��ยนต"วอ"กษรให้�เป*นต"วอ"กษรเล4กที่"�งห้มดั

str2 = str1.ToLower();str2 ค�อผลล"พิ่ธิ.ที่��เป*นอ"กษรต"วเล4กที่"�งห้มดั

ToUpper

เปล��ยนต"วอ"กษรให้�เป*นต"วอ"กษรให้ญ่ที่"�งห้มดั

str2 = str1.ToUpper();str2 ค�อผลล"พิ่ธิ.ที่��เป*นอ"กษรต"วให้ญ่ที่"�งห้มดั

StartsWith

ตรวจส่อบวาเร��มต�นดั�วยข�อความที่��ก,าห้นดัห้ร�อไม

result1 = str1.StartsWith(str2);result1 ค�อผลล"พิ่ธิ.ที่��1. ให้�ผลเป*น true ห้าก str1 ข��นต�นดั�วย str2

2. ให้�ผลเป*น false ห้าก str1 ไมข��นต�นดั�วย str2

Compare

ตรวจส่อบ string 2 คา วาเห้ม�อนก"นห้ร�อไม

result1 = String.Compare(str1,str2);result1 ค�อผลล"พิ่ธิ.ที่��1. ให้�ผลล"พิ่ธิ.เป*น 1 เม��อ str1 ม�คารห้"ส่แอส่ก�มากกวา str2

2. ให้�ผลล"พิ่ธิ. เป*น 0 เม��อ str1 ม�คารห้"ส่แอส่ก�เที่าก"น str2 (เป*นข�อความที่��เห้ม�อนก"นที่1กต"วอ"กษร)

3. ให้�ผลล"พิ่ธิ. เป*น -1 เม��อ

Page 25: S_know2

เมที่5อีด ความหมาย ต์�วอีย'างstr1 ม�คารห้"ส่แอส่ก�น�อยกวา str2

Replace

แที่นที่�� string ดั�วย string

อ�กต"ว ใน string ที่��ระบ1str4 = str1.Replace(str2,str3);Str4 ค�อผลล"พิ่ธิ.ที่��เปล��ยนข�อความใน str1 ในจ1ดัที่��ม�ข�อความตรงก"บ str2 ให้�เปล��ยนเป*น str3 ห้ร�อ str2 = str1.Replace("in","me");str2 ค�อผลล"พิ่ธิ.ที่��เปล��ยนข�อความใน str1 ในจ1ดัที่��ม�ข�อความวา in ให้�เปล��ยนเป*น me

Remove

ต"ดั string ในต,าแห้นงที่��ต�องการที่��ง

str2 = str1.Remove(3);str2 ค�อผลล"พิ่ธิ.ที่��ต"ดัข�อความต"�งแตต,าแห้นงที่�� 4

ที่��งไปstr2 = str1.Remove(4,2);str2 ค�อผลล"พิ่ธิ.ที่��ต"ดัข�อความต,าแห้นงที่�� 5 และ 6 ออกไป

Insert แที่รก string ในต,าแห้นงที่��ต�องการเข�าไป

str3 = str1.Insert(3,str2) ;str3 ค�อผลล"พิ่ธิ.ที่��แที่รก

Page 26: S_know2

เมที่5อีด ความหมาย ต์�วอีย'างstr2 ในต,าแห้นงที่�� 4 ของ str1 ห้ร�อstr2 = str1.Insert(3,”im”) ;str2 ค�อผลล"พิ่ธิ.ที่��แที่รกข�อความวา im ลงในต,าแห้นงที่�� 4 ของ str1

SubString

บางส่วนของ string str2 = str1.SubString(4,3);str2 ค�อผลล"พิ่ธิ.ที่��เปล��ยนข�อความ str1 ให้�เห้ล�อแตต"วอ"กษรต,าแห้นงที่�� 5 น"บไป 3 ต"ว

Trim ต"ดัข�อความที่��เป*น space

ส่วนห้"วและส่วนที่�ายออกstr2 = str1.Trim();str2 ค�อผลล"พิ่ธิ.ที่��ต"ดั space ที่"�งส่วนห้น�าและส่วนห้ล"งของ str1 ที่��งไป

TrimStart

ต"ดัข�อความที่��เป*น space

ส่วนห้"วออกstr2 = str1.TrimStart();str2 ค�อผลล"พิ่ธิ.ที่��ต"ดั space ส่วนห้น�า str1 ที่��งไป

TrimEnd

ต"ดัข�อความที่��เป*น space

ส่วนที่�ายออกstr2 = str1.TrimEnd();str2 ค�อผลล"พิ่ธิ.ที่��ต"ดั space ส่วนห้ล"ง str1

ที่��งไป

Page 27: S_know2

ฟั7งก�ช�นเก��ยวก�บเวลาฟั@งก.ช้"นเก��ยวก"บเวลา ค�อ ฟั@งก.ช้"นที่��ใช้�ในการจ"ดัการเก��ยวก"บเวลา

โดัยม�เมที่4อดัที่��ใช้�ดั"งน��

เมที่5อีด ความหมาย ต์�วอีย'างDateTime.Now ให้�คาที่"�งว"นเดั�อนป/

และเวลา ป@จจ1บ"น ตามนาฬิ�กาของเคร��อง

DateTime dt;dt=DateTime.Now; ห้มายถุ�งให้�น,าคาว"นเดั�อนป/และเวลาป@จจ1บ"นมาเก4บไว�ในต"วแปร dt เช้น 16/10/2552 16:38:10

DateTime.Now.ToShortDateString()

เป*นการห้าว"นเดั�อนป/ป@จจ1บ"นตามนาฬิ�กาของเคร��องแบบ ShortDate

ถุ�าว"นเดั�อนป/และเวลาป@จจ1บ"น ค�อ 16/10/2552 16:38:10จะไดั� 16/10/2552

DateTime.Now.ToLongDateString()

เป*นการห้าว"นเดั�อนป/ป@จจ1บ"นตามนาฬิ�กาของเคร��องแบบ LongDate

ถุ�าว"นเดั�อนป/และเวลาป@จจ1บ"น ค�อ 16/10/2552 16:38:10จะไดั� 16 พิ่ฤศจ�กายน 2552

Page 28: S_know2

เมที่5อีด ความหมาย ต์�วอีย'างDateTime.Now.ToShortTimeString()

เป*นการห้าเวลาป@จจ1บ"นตามนาฬิ�กาของเคร��องแบบ ShortTime

ถุ�าว"นเดั�อนป/และเวลาป@จจ1บ"น ค�อ 16/10/2552 16:38:10จะไดั� 16:38

DateTime.Now.ToLongTimeString()

เป*นการห้าเวลาป@จจ1บ"นตามนาฬิ�กาของเคร��องแบบ LongTime

ถุ�าว"นเดั�อนป/และเวลาป@จจ1บ"น ค�อ 16/10/2552 16:38:10จะไดั� 16:38:10

DateTime.Now.ToShortDateString()

เป*นการห้าว"นเดั�อนป/ป@จจ1บ"นตามนาฬิ�กาของเคร��องแบบ ShortDate

ถุ�าว"นเดั�อนป/และเวลาป@จจ1บ"น ค�อ 16/10/2552 16:38:10จะไดั� 16/10/2552

DateTime.Now.ToLongDateString()

เป*นการห้าว"นเดั�อนป/ป@จจ1บ"นตามนาฬิ�กาของเคร��องแบบ LongDate

ถุ�าว"นเดั�อนป/และเวลาป@จจ1บ"น ค�อ 16/10/2552 16:38:10จะไดั� 16 พิ่ฤศจ�กายน 2552

ขอีขอีบค1ณิขอีม�ลจัาก: เอกส่ารประกอบการอบรมห้ล"กส่%ตรการเข�ยนโปรแกรมภาษาซึ่�ช้าร.ปส่าขาคอมพิ่�วเตอร. ส่ถุาบ"นส่งเส่ร�มการส่อนว�ที่ยาศาส่ตร.และเที่คโนโลย�