06.08.2013 Views

VB2008 學習檔案學生:劉家豪座號:10 指導老師:張銘棋老師

VB2008 學習檔案學生:劉家豪座號:10 指導老師:張銘棋老師

VB2008 學習檔案學生:劉家豪座號:10 指導老師:張銘棋老師

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>VB2008</strong><br />

學習檔案<br />

學生:劉家豪<br />

座號:<strong>10</strong><br />

<strong>指導老師</strong>:張銘棋<br />

第 1 頁<br />

老師


目錄<br />

CH4…表單的程式設計<br />

CH5…..使用資料<br />

第 2 頁<br />

4~<strong>10</strong> 頁<br />

11~13 頁<br />

CH6…..選擇性執行程式<br />

14~19 頁<br />

CH7…..重複執行同一段程式<br />

CH8…..陣列<br />

CH9…..程序與函式<br />

20~23 頁<br />

24~32 頁<br />

33~36 頁<br />

CH<strong>10</strong>…..事件驅動程式<br />

37~37 頁


CH11…..繪圖<br />

CH11-1…..多媒體<br />

CH12…..視窗介面<br />

CH13…..檔案存取<br />

CH14-1…..資料庫<br />

Exam1…..64~65 頁<br />

Exam2…..66~67 頁<br />

Exam3…..68~69 頁<br />

Exam4…..70~71 頁<br />

Exam5…..72~77 頁<br />

Exam6…..78~80 頁<br />

第 3 頁<br />

38~41 頁<br />

42~43 頁<br />

44~49 頁<br />

50~58 頁<br />

59~63 頁


程式碼 <strong>10</strong> / CH4 / form1<br />

Public Class Form1<br />

CH4<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles Button1.Click<br />

Dim c, f, r As Integer<br />

c = Val(InputBox("請輸入攝氏溫度", "攝氏變華氏"))<br />

f = c * 9 / 5 + 32<br />

r = MsgBox("攝氏 " & c & " 度 = 華氏 " & f & " 度。", 1 + 48, "轉換結果")<br />

'Msgbox(r)<br />

If r = 1 Then<br />

MsgBox("感謝你的使用!!!", , "Hello!!")<br />

Else<br />

End<br />

End If<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 4 頁


程式碼 <strong>10</strong> / CH4 / form2<br />

Public Class Form2<br />

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

label1.Click<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button1.Click<br />

label1.BorderStyle = BorderStyle.Fixed3D<br />

label1.Text = "立體邊框"<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button2.Click<br />

label1.BorderStyle = BorderStyle.FixedSingle<br />

label1.Text = "單線邊框"<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button3.Click<br />

label1.BorderStyle = BorderStyle.None<br />

label1.Text = "無邊框"<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 5 頁


程式碼 <strong>10</strong> / CH4 / form3<br />

Public Class Form3<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button1.Click<br />

Label1.Location = New Point(Label1.Location.X - 20, Label1.Location.Y)<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button2.Click<br />

Label1.Location = New Point(Label1.Location.X + 20, Label1.Location.Y)<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button3.Click<br />

Label1.Size = New Size(Label1.Size.Width + <strong>10</strong>, Label1.Height + <strong>10</strong>)<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button4.Click<br />

Label1.Size = New Size(Label1.Size.Width - <strong>10</strong>, Label1.Height - <strong>10</strong>)<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button5.Click<br />

Label1.BackColor = Color.Black<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button6.Click<br />

Label1.BackColor = Color.Red<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button7.Click<br />

Label1.BackColor = Color.Purple<br />

End Sub<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

End Class<br />

執行畫面<br />

原圖 放大<br />

第 6 頁


縮小 左移<br />

右移 方塊變色(黑)<br />

方塊變色(紅) 方塊變色(紫)<br />

第 7 頁


程式碼 <strong>10</strong> / CH4 / form4<br />

Public Class Form4<br />

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

MyBase.Load<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button3.Click<br />

Me.BackgroundImage = New Bitmap("..\..\闔家平安.gif")<br />

End Sub<br />

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

PictureBox1.Click<br />

PictureBox1.Image = New Bitmap("..\..\homejump.gif")<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button1.Click<br />

Me.BackgroundImage = New Bitmap("..\..\考試順利.gif")<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button2.Click<br />

Me.BackgroundImage = New Bitmap("..\..\財源廣進.gif")<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button4.Click<br />

Me.BackgroundImage = Nothing<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 8 頁


程式碼 <strong>10</strong> / CH4 / EX1<br />

Public Class EX1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim f<br />

f = Val(TextBox1.text) * 9 / 5 + 32<br />

Label2.Text = ("攝氏 " & Val(TextBox1.Text) & " 度 = 華氏 " & f & " 度。")<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim c<br />

c = (Val(TextBox1.Text) - 32) * 5 / 9<br />

Label2.Text = ("華氏 " & Val(TextBox1.Text) & " 度 = 攝氏 " & Math.Round(c, 2) & " 度。")<br />

End Sub<br />

End Class<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH4 / EX2<br />

Public Class EX2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

PictureBox1.Size = New Size(PictureBox1.Size.Width + <strong>10</strong>, PictureBox1.Height + <strong>10</strong>)<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

PictureBox1.Size = New Size(PictureBox1.Size.Width - <strong>10</strong>, PictureBox1.Height - <strong>10</strong>)<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Me.BackgroundImage = New Bitmap("..\..\fBg1.gif")<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Me.BackgroundImage = New Bitmap("..\..\fBg2.gif")<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

Me.BackgroundImage = New Bitmap("..\..\fBg3.gif")<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

PictureBox1.BackgroundImage = New Bitmap("..\..\fUSA2.gif")<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

第 9 頁


PictureBox1.BackgroundImage = New Bitmap("..\..\fCanada2.gif")<br />

End Sub<br />

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click<br />

PictureBox1.BackgroundImage = New Bitmap("..\..\fFrance2.gif")<br />

End Sub<br />

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click<br />

PictureBox1.BackgroundImage = New Bitmap("..\..\fJapan2.gif")<br />

End Sub<br />

執行畫面<br />

原畫面 美國+背景 1<br />

加拿大+背景 2 法國+背景 3<br />

日本(原大小) 日本(放大) 日本(縮小)<br />

第 <strong>10</strong> 頁


程式碼 <strong>10</strong> / CH5 / form1<br />

CH5<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Label1.Text = "按鈕時間為" & vbCrLf & Now<br />

End Sub<br />

End Class<br />

執行畫面<br />

(時間 9:53)<br />

程式碼 <strong>10</strong> / CH5 / form2<br />

Public Class Form2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a<br />

a = AscW(TextBox1.Text & ChrW(0))<br />

Label1.Text = " Unicode: " & a & " (十六進位: " & Hex(a) & " ) "<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 11 頁


程式碼 <strong>10</strong> / CH5 / EX1<br />

Public Class EX1<br />

Dim a, b$<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

TextBox1.Text = TextBox1.Text & "1"<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

TextBox1.Text = TextBox1.Text & "2"<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

TextBox1.Text = TextBox1.Text & "3"<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

TextBox1.Text = TextBox1.Text & "4"<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

TextBox1.Text = TextBox1.Text & "5"<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

TextBox1.Text = TextBox1.Text & "6"<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

TextBox1.Text = TextBox1.Text & "7"<br />

End Sub<br />

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click<br />

TextBox1.Text = TextBox1.Text & "8"<br />

End Sub<br />

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click<br />

TextBox1.Text = TextBox1.Text & "9"<br />

End Sub<br />

Private Sub Button<strong>10</strong>_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button<strong>10</strong>.Click<br />

TextBox1.Text = TextBox1.Text & "0"<br />

End Sub<br />

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button11.Click<br />

TextBox1.Text = TextBox1.Text & "."<br />

End Sub<br />

Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button12.Click<br />

If b = "+" Then TextBox1.Text = Val(a) + Val(TextBox1.Text)<br />

If b = "-" Then TextBox1.Text = Val(a) - Val(TextBox1.Text)<br />

If b = "*" Then TextBox1.Text = Val(a) * Val(TextBox1.Text)<br />

If b = "/" Then TextBox1.Text = Val(a) / Val(TextBox1.Text)<br />

End Sub<br />

Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button13.Click<br />

a = TextBox1.Text<br />

b = "+"<br />

TextBox1.Text = ""<br />

End Sub<br />

Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button14.Click<br />

a = TextBox1.Text<br />

b = "-"<br />

TextBox1.Text = ""<br />

第 12 頁


End Sub<br />

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button15.Click<br />

a = TextBox1.Text<br />

b = "*"<br />

TextBox1.Text = ""<br />

End Sub<br />

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button16.Click<br />

a = TextBox1.Text<br />

b = "/"<br />

TextBox1.Text = ""<br />

End Sub<br />

End Class<br />

執行畫面<br />

原圖 數字與小數點<br />

第 13 頁<br />

9 X 9 = 81


程式碼 <strong>10</strong> / CH6 / form1<br />

CH6<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim buy As Integer, pay As Integer<br />

Dim msg As String<br />

buy = Val(TextBox1.Text)<br />

If buy > <strong>10</strong>00 Then<br />

pay = buy * 0.8<br />

If buy > 2000 Then<br />

msg = "超過 2000 元, 先打 8 折在減 <strong>10</strong>0 元。"<br />

pay = pay - <strong>10</strong>0<br />

Else<br />

msg = "超過 <strong>10</strong>00 元, 先打 8 折在減 50 元。"<br />

pay = pay - 50<br />

End If<br />

Else<br />

If buy > 500 Then<br />

msg = "金額超過 500 元打 9 折。"<br />

pay = buy * 0.9<br />

Else<br />

msg = "金額未超過 500 元打 95 折。"<br />

pay = buy * 0.95<br />

End If<br />

End If<br />

TextBox2.Text = pay<br />

Label3.text = msg<br />

TextBox1.Focus()<br />

TextBox1.SelectAll()<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 14 頁


程式碼 <strong>10</strong> / CH6 / form2<br />

Public Class Form2<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Randomize()<br />

vans.Text = CInt(Int((<strong>10</strong>0 * Rnd()) + 1))<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim v As Integer, ans As Integer<br />

ans = Val(vAns.text)<br />

v = Val(TextBox1.Text)<br />

vCnt.text = Val(vCnt.text) + 1<br />

If v = ans Then<br />

MsgBox("答對了,您共猜了" & vcnt.Text & "次。")<br />

End '結束程式<br />

Else<br />

If v < ans Then<br />

vmin.text = v<br />

Else<br />

vmax.text = v<br />

End If<br />

TextBox1.Focus()<br />

TextBox1.SelectAll()<br />

End If<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 15 頁


程式碼 <strong>10</strong> / CH6 / form3<br />

Public Class Form3<br />

Dim fName As String, fSize As Integer, fStyle As FontStyle<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _<br />

Handles Button1.Click, fn_kai.Click, fn_new.Click, fs_9.Click, fs_<strong>10</strong>.Click, fs_11.Click,<br />

fs_12.Click, fst_b.Click, fst_i.Click, fst_del.Click, fst_und.Click<br />

fName = If(fn_new.Checked, "新細明體", "標楷體")<br />

If fs_9.Checked Then<br />

fSize = 9<br />

ElseIf fs_<strong>10</strong>.Checked Then<br />

fSize = <strong>10</strong><br />

ElseIf fs_11.Checked Then<br />

fSize = 11<br />

Else<br />

fSize = 12<br />

End If<br />

If sender.Equals(Button1) Then<br />

fst_b.Checked = False<br />

fst_i.Checked = False<br />

fst_del.Checked = False<br />

fst_und.Checked = False<br />

fStyle = FontStyle.Regular<br />

Else<br />

fStyle = If(fst_b.Checked, FontStyle.Bold, 0) Or If(fst_i.Checked, FontStyle.Italic, 0) Or<br />

If(fst_del.Checked, FontStyle.Strikeout, 0) Or If(fst_und.Checked, FontStyle.Underline, 0)<br />

Label1.Font = New Font(fName, fSize, fStyle)<br />

End If<br />

End Sub<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

Private Sub fs_11_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

fs_11.CheckedChanged<br />

End Sub<br />

Private Sub fn_kai_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

fn_kai.CheckedChanged<br />

End Sub<br />

Private Sub fn_new_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

fn_new.CheckedChanged<br />

End Sub<br />

Private Sub fst_b_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

fst_b.CheckedChanged<br />

End Sub<br />

Private Sub fst_i_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

fst_i.CheckedChanged<br />

End Sub<br />

Private Sub fst_del_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

fst_del.CheckedChanged<br />

End Sub<br />

Private Sub fst_und_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

fst_und.CheckedChanged<br />

End Sub<br />

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Label1.Click<br />

End Sub<br />

End Class<br />

第 16 頁


執行畫面<br />

程式碼 <strong>10</strong> / CH6 / EX1<br />

Public Class Ex1<br />

Dim a, b, c As Integer<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

a = Val(TextBox1.Text)<br />

b = Val(TextBox2.Text)<br />

c = Val(TextBox3.Text) 執行畫面<br />

If a > b Then<br />

TextBox4.Text = a<br />

Else<br />

If b > a Then<br />

TextBox4.Text = b<br />

End If<br />

If c > a Then<br />

TextBox4.Text = c<br />

Else<br />

If a > c Then<br />

TextBox4.Text = a<br />

End If<br />

If b > c Then<br />

TextBox4.Text = b<br />

Else<br />

If c > b Then<br />

TextBox4.Text = c<br />

End If<br />

End If<br />

End If<br />

End If<br />

End Sub<br />

End Class<br />

第 17 頁


程式碼 <strong>10</strong> / CH6 / EX2<br />

Public Class EX2<br />

Private Sub EX2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a As Integer<br />

If TextBox1.Text = "" Then<br />

TextBox1.Text = 0<br />

End If<br />

If TextBox2.Text = "" Then<br />

TextBox2.Text = 0<br />

End If<br />

If TextBox3.Text = "" Then<br />

TextBox3.Text = 0<br />

End If<br />

If TextBox4.Text = "" Then<br />

TextBox4.Text = 0<br />

End If<br />

a = TextBox1.Text * 30 + TextBox2.Text * 70 + TextBox3.Text * 65 + TextBox4.Text * 99<br />

If RadioButton1.Checked = True Or RadioButton3.Checked = True Then<br />

If CheckBox1.Checked = True And CheckBox2.Checked = True Then<br />

TextBox5.Text = (a * 0.9 * 0.8)<br />

Label<strong>10</strong>.Text = "總價" & TextBox5.Text & "+ 打9折 + 打8折"<br />

ElseIf CheckBox1.Checked = True Then<br />

TextBox5.Text = (a * 0.9)<br />

Label<strong>10</strong>.Text = "總價" & TextBox5.Text & "+打9折"<br />

ElseIf CheckBox2.Checked = True Then<br />

TextBox5.Text = (a * 0.8)<br />

Label<strong>10</strong>.Text = "總價" & TextBox5.Text & "+打8折"<br />

Else<br />

TextBox5.Text = a<br />

Label<strong>10</strong>.Text = "總價" & TextBox5.Text<br />

End If<br />

ElseIf RadioButton2.Checked = True Then<br />

If CheckBox1.Checked = True And CheckBox2.Checked = True Then<br />

If a < 300 Then<br />

TextBox5.Text = Int((a + 30) * 0.9 * 0.8)<br />

Label<strong>10</strong>.Text = "總價" & a & " + 運費30 + 打9折 + 打8折"<br />

Else<br />

TextBox5.Text = Int(a * 0.9 * 0.8)<br />

Label<strong>10</strong>.Text = "總價" & a & " + 打9折 + 打8折"<br />

End If<br />

ElseIf CheckBox1.Checked = True Then<br />

If a < 300 Then<br />

TextBox5.Text = Int((a + 30) * 0.9)<br />

Label<strong>10</strong>.Text = "總價" & a & " + 運費30 + 打9折"<br />

Else<br />

TextBox5.Text = Int(a * 0.9)<br />

Label<strong>10</strong>.Text = "總價" & a & " + 打9折"<br />

End If<br />

ElseIf CheckBox2.Checked = True Then<br />

If a < 300 Then<br />

TextBox5.Text = Int((a + 30) * 0.8)<br />

Label<strong>10</strong>.Text = "總價" & a & " + 運費30 + 打8折"<br />

Else<br />

TextBox5.Text = Int(a * 0.8)<br />

第 18 頁


Label<strong>10</strong>.Text = "總價" & a & "+ 打8折"<br />

End If<br />

Else<br />

If a < 300 Then<br />

TextBox5.Text = a + 30<br />

Label<strong>10</strong>.Text = "總價" & a & "+運費30"<br />

Else<br />

TextBox5.Text = a<br />

Label<strong>10</strong>.Text = "總價" & a<br />

End If<br />

End If<br />

End If<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

TextBox1.Text = ""<br />

TextBox2.Text = ""<br />

TextBox3.Text = ""<br />

TextBox4.Text = ""<br />

TextBox5.Text = ""<br />

RadioButton1.Checked = True<br />

CheckBox1.Checked = False<br />

CheckBox2.Checked = False<br />

Label<strong>10</strong>.Text = "明細"<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 19 頁


程式碼 <strong>10</strong> / CH7 / Form1<br />

CH7<br />

Public Class Form1<br />

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Dim i As Integer<br />

For i = 25 To 1 Step -4<br />

Label1.Text = Label1.Text & vbCrLf & StrDup(i, CStr(i \ 4 + 1))<br />

Next<br />

For i = 5 To 25 Step 4<br />

Label1.Text = Label1.Text & vbCrLf & StrDup(i, CStr(i \ 4 + 1))<br />

Next<br />

End Sub<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH7 / Form2<br />

Public Class Form2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Button1.Visible = False<br />

PictureBox1.Left = 0 - PictureBox1.Size.Width<br />

PictureBox1.Visible = True<br />

Do<br />

PictureBox1.Left = PictureBox1.Left + 1 + HScrollBar1.Value / 20<br />

If PictureBox1.Left Mod <strong>10</strong> = 0 Then<br />

PictureBox1.Top = PictureBox1.Top + CInt(Int(7 * Rnd())) - 3<br />

End If<br />

System.Threading.Thread.Sleep(30)<br />

Application.DoEvents()<br />

Loop Until (PictureBox1.Left > Me.ClientSize.Width)<br />

Button1.Visible = True<br />

PictureBox1.Visible = True<br />

End Sub<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

第 20 頁


Randomize()<br />

End Sub<br />

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click<br />

End Sub<br />

Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click<br />

End Sub<br />

Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As<br />

System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll<br />

End Sub<br />

End Class<br />

執行畫面<br />

起始畫面<br />

跑到中間<br />

跑完結束<br />

第 21 頁


程式碼 <strong>10</strong> / CH7 / Form3<br />

Public Class Form3<br />

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Timer1.Tick<br />

Dim a As Integer<br />

Label1.Text = Format(Now(), If(CheckBox1.Checked, "hh:mm:ss", "HH:mm:ss"))<br />

a = Val(Format(Now, "yyyy") - 1911)<br />

If a < 0 Then a = Val(Format(Now, "yyyy") + 1911)<br />

Label2.Text = Format(Now(), If(CheckBox3.Checked, "yyyy/MM/dd", a & "/MM/dd"))<br />

End Sub<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Label1.Text = Format(Now(), "HH:mm:ss")<br />

Label2.Text = Format(Now(), "yyyy/MM/dd")<br />

End Sub<br />

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles CheckBox2.CheckedChanged<br />

Timer1.Enabled = Not CheckBox2.Checked<br />

End Sub<br />

執行畫面<br />

民國 24 小時制 西元 12 小時制<br />

程式碼 <strong>10</strong> / CH7 / EX1<br />

Public Class EX1<br />

Dim a, b As Integer<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If Val(TextBox1.Text) < -1 Or Val(TextBox1.Text) > <strong>10</strong>0 Then MsgBox("請輸入0~<strong>10</strong>0的分數,-1為結束。", 64<br />

+ 0, "重新輸入") _<br />

: TextBox1.Text = "" : TextBox1.Focus() : Exit Sub<br />

If Val(TextBox1.Text) = "-1" Then GoTo w<br />

If Val(TextBox1.Text) > 60 Then a = a + 1<br />

b = b + Val(TextBox1.Text)<br />

Label2.Text = Label2.Text + 1<br />

TextBox1.Text = ""<br />

TextBox1.Focus()<br />

Exit Sub<br />

w:<br />

MsgBox("全班人數:" & Label2.Text - 1 & " 及格人數:" & a & " 不及格人數:" & Label2.Text - 1 - a _<br />

& " 全班平均值:" & b / (Label2.Text - 1))<br />

End Sub<br />

End Class<br />

第 22 頁


執行畫面<br />

程式碼 <strong>10</strong> / CH7 / EX2<br />

Public Class EX2<br />

Private Sub EX2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Dim i, n, a, j As Integer<br />

For i = 1 To 15<br />

Label1.Text = Label1.Text & vbCrLf<br />

For n = 1 To i<br />

a = n<br />

If a >= <strong>10</strong> Then a = a - <strong>10</strong><br />

Label1.Text = Label1.Text & a 執行畫面<br />

Next<br />

For j = i - 1 To 1 Step -1<br />

a = j<br />

If a >= <strong>10</strong> Then a = a - <strong>10</strong><br />

Label1.Text = Label1.Text & a<br />

Next<br />

Next<br />

End Sub<br />

第 23 頁


程式碼 <strong>10</strong> / CH8 / Form1<br />

CH8<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim 總分 As Double<br />

Dim 成績陣列() As String = Split(TextBox1.Text, ",")<br />

Dim 筆數 = UBound(成績陣列) + 1<br />

For Each s In 成績陣列<br />

總分 = 總分 + Val(s)<br />

Next<br />

MsgBox("成績筆數:" & 筆數 & vbCrLf & "總成績為:" & 總分 & vbCrLf & "平均成績:" & _<br />

Math.Round(總分 / 筆數, 2))<br />

End Sub<br />

End Class<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH8 / Module1<br />

Module Module1<br />

Sub Main()<br />

Dim 資料, 陣列(0) As String<br />

Dim 筆數 As Integer<br />

Do<br />

Console.Write("請輸入資料:")<br />

資料 = Console.ReadLine<br />

If 資料 = "" Then Exit Do<br />

ReDim Preserve 陣列(筆數)<br />

陣列(筆數) = 資料<br />

筆數 = 筆數 + 1<br />

Loop<br />

Console.WriteLine("您一共輸入了 " & 筆數 & " 筆資料。")<br />

Array.Sort(陣列)<br />

For i = 1 To 筆數<br />

Console.WriteLine(陣列(i - 1))<br />

第 24 頁


Next<br />

Console.ReadLine()<br />

End Sub<br />

End Module<br />

執行畫面<br />

2<br />

程式碼 <strong>10</strong> / CH8 / Module2<br />

Module Module2 執行畫面<br />

Sub main()<br />

Dim X(4), i As Integer<br />

For i = 0 To 4<br />

Console.Write("請輸入數值資料:")<br />

X(i) = Val(Console.ReadLine)<br />

Next<br />

Array.Sort(X)<br />

For i = 0 To 4<br />

Console.WriteLine("X(" & i & ") = " & X(i))<br />

Next<br />

Console.ReadLine()<br />

End Sub<br />

End Module<br />

程式碼 <strong>10</strong> / CH8 / Form2<br />

Public Class Form2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim 姓名() = {"陳桶一", "黃光權", "胡生妙", "王為全", "李日正", "劉德菖", "方正一", "劉康寶", "謝掬<br />

花", "王美蘭", "徐小噹", "葉小毛"}<br />

Dim 數學() = {90, 58, 41, <strong>10</strong>0, 59, 28, <strong>10</strong>0, 0, <strong>10</strong>0, 41, 91, 0}<br />

Dim 國文() = {76, 77, 14, 97, 66, 11, 98, 0, 74, 46, 99, <strong>10</strong>}<br />

Dim 英文() = {98, 75, 33, 87, 57, 33, <strong>10</strong>0, <strong>10</strong>, 89, 49, 84, 0}<br />

Dim 索引 = Array.IndexOf(姓名, TextBox1.Text)<br />

If 索引 < 0 Then<br />

Label5.Text = "查無此人!"<br />

Label6.Text = ""<br />

Label7.Text = ""<br />

Else<br />

Label5.Text = 數學(索引)<br />

Label6.Text = 國文(索引)<br />

第 25 頁


Label7.Text = 英文(索引)<br />

End If<br />

Dim a$ = ""<br />

Dim i% = Array.IndexOf(數學, <strong>10</strong>0)<br />

While i > 0<br />

a = a & " " & 姓名(i)<br />

i = Array.IndexOf(數學, <strong>10</strong>0, i + 1)<br />

End While<br />

MsgBox(a, , "數學<strong>10</strong>0分")<br />

End Sub<br />

End Class<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH8 / Form3<br />

Public Class Form3<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim 稅率(,) As Integer = {{4<strong>10</strong>000, 6, 0}, {<strong>10</strong>90000, 13, 28700}, {2180000, 21, 115900}, {409000, 30,<br />

312<strong>10</strong>0}, {4090001, 40, 7201<strong>10</strong>0}}<br />

Dim 所得淨額 As Integer = Val(TextBox1.Text)<br />

Dim i As Integer<br />

For i = 0 To UBound(稅率, 1) - 1<br />

If 所得淨額


程式碼 <strong>10</strong> / CH8 / Form4<br />

Public Class Form4<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If ListBox1.SelectedIndex = -1 Then ListBox1.SelectedItem = Label1.Font.Name<br />

If ListBox2.SelectedIndex = -1 Then ListBox2.SelectedIndex = 0<br />

If ListBox3.SelectedIndex = -1 Then ListBox3.SelectedItem = "12"<br />

Dim 字型名稱 As String = ListBox1.SelectedItem<br />

Dim 字型樣式 As FontStyle<br />

Dim 字型大小 As Integer = Val(ListBox3.SelectedItem)<br />

Select Case ListBox2.SelectedItem<br />

Case "標準"<br />

字型樣式 = FontStyle.Regular<br />

Case "粗體"<br />

字型樣式 = FontStyle.Bold<br />

Case "斜體"<br />

字型樣式 = FontStyle.Italic<br />

Case "粗斜體"<br />

字型樣式 = FontStyle.Bold Or FontStyle.Italic<br />

End Select<br />

Label1.Font = New Font(字型名稱, 字型大小, 字型樣式)<br />

End Sub<br />

End Class<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH8 / Form5<br />

Public Class Form5<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim i As Integer<br />

For i = 0 To ListBox1.SelectedItems.Count - 1<br />

ListBox2.Items.Add(ListBox1.SelectedItems(i))<br />

Next<br />

For i = ListBox1.SelectedItems.Count - 1 To 0 Step -1<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndices(i))<br />

Next<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim i As Integer<br />

第 27 頁


For i = 0 To ListBox2.SelectedItems.Count - 1<br />

ListBox1.Items.Add(ListBox2.SelectedItems(i))<br />

Next<br />

For i = ListBox2.SelectedItems.Count - 1 To 0 Step -1<br />

ListBox2.Items.RemoveAt(ListBox2.SelectedIndices(i))<br />

Next<br />

End Sub<br />

End Class<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH8 / Form6<br />

2<br />

Public Class Form6<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If ComboBox1.SelectedIndex = -1 Then ComboBox1.SelectedItem = Label1.Font.Name<br />

If ComboBox2.SelectedIndex = -1 Then ComboBox2.SelectedIndex = 0<br />

If ComboBox3.SelectedIndex = -1 Then ComboBox3.SelectedItem = "12"<br />

Dim 字型名稱 As String = ComboBox1.SelectedItem<br />

Dim 字型樣式 As FontStyle<br />

Dim 字型大小 As Integer = Val(ComboBox3.SelectedItem)<br />

Select Case ComboBox2.SelectedItem<br />

Case "標準"<br />

字型樣式 = FontStyle.Regular<br />

Case "粗體"<br />

字型樣式 = FontStyle.Bold<br />

Case "斜體"<br />

字型樣式 = FontStyle.Italic<br />

第 28 頁


Case "粗斜體"<br />

字型樣式 = FontStyle.Bold Or FontStyle.Italic<br />

End Select<br />

Label1.Font = New Font(字型名稱, 字型大小, 字型樣式)<br />

End Sub<br />

End Class<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH8 / EX1<br />

Public Class EX1<br />

Private Sub EX1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Dim 姓名() = {"吳國民", "李得勝", "蔡可申", "陳夢嬌", "方十全"}<br />

Dim 評分(,) = {{77, 78, 78, 84, 84, 79, 77, 76, 76, 81}, _<br />

{89, 89, 92, 88, 91, 87, 86, 90, 85, 89}, _<br />

{89, 82, 87, 83, 82, 89, 86, 86, 84, 80}, _<br />

{86, 86, 90, 89, 81, 86, 90, 85, 87, 86}, _<br />

{89, 88, 87, 88, 86, 84, 86, 93, 84, 87}}<br />

Dim min As Integer = <strong>10</strong>0<br />

Dim max As Integer<br />

Dim name(4)<br />

Dim a As Integer<br />

For i = 0 To 4<br />

For j = 0 To 9<br />

If min > Val(評分(i, j)) Then min = Val(評分(i, j)) 執行畫面<br />

If max < Val(評分(i, j)) Then max = Val(評分(i, j))<br />

Next j<br />

For n = 0 To 9<br />

a = a + Val(評分(i, n))<br />

Next n<br />

a = a - min - max<br />

name(i) = a / 8<br />

min = <strong>10</strong>0<br />

max = 0<br />

a = 0<br />

Next i<br />

Array.Sort(name, 姓名)<br />

For m = 4 To 0 Step -1<br />

Label1.Text = Label1.Text & vbCrLf & 姓名(m) & " " & name(m)<br />

Next m<br />

End Sub<br />

End Class<br />

第 29 頁


程式碼 <strong>10</strong> / CH8 / EX2<br />

Public Class EX2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a$, b%<br />

a = ListBox1.Text<br />

b = ListBox1.SelectedIndex<br />

If ListBox1.SelectedIndex -1 Then<br />

If ListBox1.SelectedIndex = 0 Then<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.Insert(ListBox1.Items.Count, a)<br />

ListBox1.SelectedIndex = ListBox1.Items.Count - 1<br />

Else<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.Insert(b - 1, a)<br />

ListBox1.SelectedIndex = b - 1<br />

End If<br />

End If<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim a$, b%<br />

a = ListBox1.Text<br />

b = ListBox1.SelectedIndex<br />

If ListBox1.SelectedIndex -1 Then<br />

If ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.Insert(0, a)<br />

ListBox1.SelectedIndex = 0<br />

Else<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.Insert(b + 1, a)<br />

ListBox1.SelectedIndex = b + 1<br />

End If<br />

End If<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 30 頁


程式碼 <strong>10</strong> / CH8 / EX3<br />

Public Class EX3<br />

Dim a As Integer<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If TextBox1.Text "" Then<br />

a = a + 1<br />

ListBox1.Items.Add(Format(a, "00#") & "-" & TextBox1.Text)<br />

Else<br />

MsgBox("請輸入資料", 16 + 0, "錯誤")<br />

End If<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim i As Integer<br />

For i = 0 To ListBox1.SelectedItems.Count - 1<br />

ListBox2.Items.Add(ListBox1.SelectedItems(i))<br />

Next<br />

For i = ListBox1.SelectedItems.Count - 1 To 0 Step -1<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndices(i))<br />

Next<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Dim i As Integer<br />

For i = 0 To ListBox2.SelectedItems.Count - 1<br />

ListBox1.Items.Add(ListBox2.SelectedItems(i))<br />

Next<br />

For i = ListBox2.SelectedItems.Count - 1 To 0 Step -1<br />

ListBox2.Items.RemoveAt(ListBox2.SelectedIndices(i))<br />

Next<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

ListBox2.Items.Clear()<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Dim n, m As Integer<br />

If ListBox1.SelectedIndex = -1 Then<br />

MsgBox("你未選取資料", 16 + 0, "錯誤")<br />

Else<br />

If TextBox1.Text = "" Then<br />

MsgBox("請輸入資料", 16 + 0, "錯誤")<br />

Else<br />

n = Val(Microsoft.VisualBasic.Left(ListBox1.Text, 3))<br />

m = ListBox1.SelectedIndex<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.Insert(m, Format(n, "00#") & "-" & TextBox1.Text)<br />

End If<br />

End If<br />

End Sub<br />

End Class<br />

第 31 頁


執行畫面<br />

第 32 頁


CH9<br />

程式碼 <strong>10</strong> / CH9 / Module1<br />

Module Module1<br />

Sub Main()<br />

fact(5)<br />

End Sub<br />

Sub fact(ByVal n As Integer)<br />

Dim total As Double = 1<br />

For i = 2 To n<br />

total = total * i<br />

Next<br />

Console.WriteLine(n & "! 的值為" & total) 執行畫面<br />

End Sub<br />

End Module<br />

程式碼 <strong>10</strong> / CH9 / Module2<br />

Module Module2<br />

Sub main()<br />

finalV(<strong>10</strong>, 15, 3)<br />

Console.WriteLine("----------") 執行畫面<br />

finalV(<strong>10</strong>, 20)<br />

Console.WriteLine("----------")<br />

finalV(<strong>10</strong>)<br />

End Sub<br />

Sub finalV(ByVal seconds As Single, _<br />

Optional ByVal V0 As Single = 0, _<br />

Optional ByVal Accelaration As Single = 9.8)<br />

Console.WriteLine("初速" & V0 & ", 加速度" & Accelaration & ", 經" & seconds & "秒後,")<br />

Dim Velocity = V0 + Accelaration * seconds<br />

Console.WriteLine("加速度" & Velocity)<br />

End Sub<br />

End Module<br />

第 33 頁


程式碼 <strong>10</strong> / CH9 / Module3<br />

Module Module3<br />

Sub main()<br />

Dim a() As Integer = {1, 2, 3, 4} 執行畫面<br />

DoubleArrayValue(a)<br />

For i = 0 To a.Length - 1<br />

Console.WriteLine(a(i))<br />

Next<br />

End Sub<br />

Sub DoubleArrayValue(ByVal b() As Integer)<br />

For i = 0 To b.Length - 1<br />

b(i) = b(i) * 2<br />

Next<br />

End Sub<br />

End Module<br />

程式碼 <strong>10</strong> / CH9 / Module4<br />

Module Module4<br />

Dim number As Integer '移動次數<br />

Sub Main()<br />

Dim p<br />

Dim n As Integer = 0<br />

number = 0<br />

Console.Write("圓盤的張數 = ")<br />

n = Console.ReadLine()<br />

p = Timer<br />

aa(n, "A", "B", "C")<br />

Console.WriteLine("花了" & Timer - p & "秒")<br />

Console.ReadLine()<br />

End Sub<br />

Sub aa(ByVal n, ByVal a, ByVal b, ByVal c)<br />

If n > 0 Then<br />

' 把 n-1 張圓盤從 a 移到 b<br />

aa(n - 1, a, c, b)<br />

' 把最下面的圓盤從 a 移到 c<br />

number += 1<br />

Console.WriteLine("{0} : {1} --> {2}", number, a, c)<br />

' 把 n-1 張圓盤從 b 移到 c<br />

aa(n - 1, b, a, c)<br />

End If<br />

End Sub<br />

End Module 執行畫面<br />

第 34 頁


程式碼 <strong>10</strong> / CH9 / Form4<br />

Public Class Form4<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim Draw(4) As Integer<br />

Dim Lucky As Integer 執行畫面<br />

Randomize()<br />

For i = 0 To 4<br />

While Draw(i) = 0<br />

Lucky = CInt(Int(Rnd() * 39) + 1)<br />

If Array.IndexOf(Draw, Lucky) = -1 Then<br />

Draw(i) = Lucky<br />

End If<br />

End While<br />

Next<br />

Label1.Text = Draw(0)<br />

Label2.Text = Draw(1)<br />

Label3.Text = Draw(2)<br />

Label4.Text = Draw(3)<br />

Label5.Text = Draw(4)<br />

Button1.Text = "再試一次"<br />

End Sub<br />

End Class<br />

程式碼 <strong>10</strong> / CH9 / Form5<br />

Public Class Form5<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Label2.Text = fact(Val(TextBox1.Text))<br />

End Sub<br />

Function fact(ByVal n As Integer) As Long<br />

If n


程式碼 <strong>10</strong> / CH9 / EX1<br />

Imports System.Drawing<br />

Public Class EX1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button1.Click<br />

Randomize()<br />

PictureBox1.Image = New Bitmap("..\..\" & CInt(Int(Rnd() * 6) + 1) & ".gif")<br />

PictureBox2.Image = New Bitmap("..\..\" & CInt(Int(Rnd() * 6) + 1) & ".gif")<br />

End Sub<br />

End Class 執行畫面<br />

程式碼 <strong>10</strong> / CH9 / EX2<br />

Public Class EX2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button1.Click<br />

Label2.Text = "距離=" & s((Val(TextBox1.Text))) & "m"<br />

End Sub<br />

Private Function s(ByVal t As Integer) As Single<br />

Dim a As Single<br />

a = (9.8 * t ^ 2) / 2<br />

Return a<br />

End Function 執行畫面<br />

End Class<br />

第 36 頁


CH<strong>10</strong><br />

程式碼 <strong>10</strong> / CH<strong>10</strong> / Form1<br />

Public Class Form1<br />

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)<br />

Handles TextBox1.KeyPress<br />

If Asc(e.KeyChar) >= 97 And Asc(e.KeyChar) 3 Then<br />

If Len(s) Mod 3 0 Then<br />

c = Mid(s, 1, Len(s) Mod 3)<br />

For i = (Len(s) Mod 3) + 1 To Len(s) Step 3<br />

c = c & "," & Mid(s, i, 3)<br />

Next i<br />

Else<br />

For i = 1 To Len(s) Step 3<br />

c = c & Mid(s, i, 3) & ","<br />

Next i<br />

c = Mid(c, 1, Len(c) - 1)<br />

End If<br />

End If<br />

TextBox2.Text = c<br />

End Sub<br />

End Class<br />

第 37 頁


CH11<br />

程式碼 <strong>10</strong> / CH11 / Form1<br />

Public Class Form1<br />

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim g = e.Graphics<br />

g.DrawRectangle(Pens.DarkBlue, <strong>10</strong>, <strong>10</strong>, 40, 60)<br />

Dim BigPen = New Pen(Color.Brown, 3)<br />

g.DrawRectangle(BigPen, 60, <strong>10</strong>, 40, 60)<br />

Dim BiggerPen = New Pen(Color.Gold, 9)<br />

g.DrawRectangle(BiggerPen, 1<strong>10</strong>, <strong>10</strong>, 40, 60)<br />

g.DrawLine(Pens.Black, 180, <strong>10</strong>, 240, 70)<br />

g.DrawLine(Pens.Black, 180, 70, 240, <strong>10</strong>)<br />

g.FillEllipse(Brushes.Blue, 270, 20, <strong>10</strong>0, 50) 執行畫面<br />

Dim p1 = New Point(<strong>10</strong>0, <strong>10</strong>0)<br />

Dim p2 = New Point(200, <strong>10</strong>0)<br />

Dim p3 = New Point(230, 180)<br />

Dim p4 = New Point(150, 240)<br />

Dim p5 = New Point(75, 180)<br />

g.DrawLine(Pens.Black, p1, p2)<br />

g.DrawLine(Pens.Black, p2, p3)<br />

g.DrawLine(Pens.Black, p3, p4)<br />

g.DrawLine(Pens.Black, p4, p5)<br />

g.DrawLine(Pens.Black, p5, p1)<br />

End Sub<br />

End Class<br />

程式碼 <strong>10</strong> / CH11 / Form2<br />

Public Class Form2<br />

Private Sub Form2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim width = Me.ClientSize.Width / <strong>10</strong><br />

Dim height = Me.ClientSize.Height / <strong>10</strong><br />

Dim MyBrushes() = {Brushes.Red, Brushes.Orange, _<br />

Brushes.Yellow, Brushes.Green, _<br />

Brushes.Blue, Brushes.Indigo, _<br />

Brushes.Purple, Brushes.White}<br />

Randomize()<br />

For i = 0 To 9<br />

For j = 0 To 9<br />

Dim Index = Fix(Rnd() * 8)<br />

Dim Size = Fix(Rnd() * width) + 1<br />

Dim rect = New Rectangle(i * width + Index, _<br />

j * height + Index, _<br />

Size, Size)<br />

e.Graphics.FillEllipse(MyBrushes(Index), rect)<br />

第 38 頁


Next j<br />

Next i<br />

End Sub<br />

Private Sub Form2_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles<br />

Me.SizeChanged<br />

Me.Invalidate()<br />

End Sub<br />

End Class<br />

執行畫面<br />

程式碼 <strong>10</strong> / CH11 / Form3<br />

Public Class Form3<br />

Dim Img As Image<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Try<br />

Img = Image.FromFile("..\..\sample.jpg")<br />

Catch ex As Exception<br />

MsgBox(ex.Message)<br />

End<br />

End Try<br />

End Sub<br />

Private Sub Form3_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles<br />

Me.MouseClick<br />

If e.Button = Windows.Forms.MouseButtons.Left Then<br />

Img.RotateFlip(RotateFlipType.Rotate270FlipNone)<br />

ElseIf e.Button = Windows.Forms.MouseButtons.Right Then<br />

Img.RotateFlip(RotateFlipType.Rotate90FlipNone)<br />

End If<br />

Me.Invalidate()<br />

End Sub<br />

Private Sub Form3_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

e.Graphics.DrawImage(Img, 0, 0, Me.ClientSize.Width, _<br />

Me.ClientSize.Height)<br />

End Sub<br />

Private Sub Form3_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged<br />

Me.Invalidate()<br />

End Sub 執行畫面<br />

End Class<br />

原畫面 滑鼠點兩下 拉大<br />

第 39 頁


程式碼 <strong>10</strong> / CH11 / EX1<br />

Public Class EX1<br />

Dim ok As Boolean = False<br />

Private Sub EX1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim g = e.Graphics<br />

g.FillRectangle(Brushes.Black, 5, 5, <strong>10</strong>2, <strong>10</strong>2)<br />

g.FillRectangle(Brushes.White, 6, 6, <strong>10</strong>0, <strong>10</strong>0)<br />

If ok = True Then<br />

g.Clear(Me.BackColor)<br />

End If<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _<br />

Button1.Click, RadioButton1.Click, RadioButton2.Click, RadioButton3.Click, RadioButton4.Click<br />

Dim g = Me.CreateGraphics<br />

Dim a As Integer = Val(TextBox1.Text)<br />

ok = True<br />

Me.Refresh()<br />

If RadioButton1.Checked = True Then g.FillEllipse(Brushes.Red, 150, 5, a * 2, a * 2)<br />

If RadioButton2.Checked = True Then g.FillEllipse(Brushes.Yellow, 150, 5, a * 2, a * 2)<br />

If RadioButton3.Checked = True Then g.FillEllipse(Brushes.Orange, 150, 5, a * 2, a * 2)<br />

If RadioButton4.Checked = True Then g.FillEllipse(Brushes.Green, 150, 5, a * 2, a * 2)<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 40 頁


程式碼 <strong>10</strong> / CH11 / EX2<br />

Public Class EX2<br />

Private Sub EX2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'AxWindowsMediaPlayer1.settings.autoStart = False<br />

'AxWindowsMediaPlayer1.URL = "\CH11\music.wma"<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.play()<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.pause()<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.stop()<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.fastReverse()<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.fastForward()<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then<br />

AxWindowsMediaPlayer1.URL = OpenFileDialog1.FileName<br />

End If<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

AxWindowsMediaPlayer1.fullScreen = True<br />

End Sub<br />

Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As<br />

System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll<br />

AxWindowsMediaPlayer1.settings.volume = HScrollBar1.Value<br />

End Sub<br />

End Class 執行畫面<br />

第 41 頁


程式碼 <strong>10</strong> / CH11-1 / Form1<br />

CH11-1<br />

Public Class Form1<br />

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ComboBox1.SelectedIndexChanged, ComboBox2.SelectedIndexChanged, ComboBox3.SelectedIndexChanged,<br />

ComboBox4.SelectedIndexChanged<br />

If ComboBox2.SelectedIndex = -1 Then<br />

MsgBox("請選擇大小", 0 + 64, "確認")<br />

Else<br />

Dim g = Me.CreateGraphics<br />

Dim size As Integer = ComboBox2.SelectedItem<br />

Dim x = Me.ClientSize.Width / 2<br />

Dim y = Me.ClientSize.Height / 2<br />

Dim pointx(9), pointy(9), i, j As Integer<br />

For i = 0 To ComboBox1.SelectedItem - 1<br />

pointx(i) = x + size * Math.Sin((360 / ComboBox1.SelectedItem) * i * Math.PI / 180)<br />

pointy(i) = y + size * Math.Cos((360 / ComboBox1.SelectedItem) * i * Math.PI / 180)<br />

Next i<br />

Select Case ComboBox4.SelectedItem<br />

Case ""<br />

Me.BackColor = SystemColors.Control<br />

Case "Control"<br />

Me.BackColor = SystemColors.Control<br />

Case "Orange"<br />

Me.BackColor = Color.Orange<br />

Case "Purple"<br />

Me.BackColor = Color.Purple<br />

Case "Pink"<br />

Me.BackColor = Color.Pink<br />

Case "Gray"<br />

Me.BackColor = Color.Gray<br />

End Select<br />

Refresh()<br />

For i = 0 To ComboBox1.SelectedItem - 1<br />

For j = 0 To ComboBox1.SelectedItem - 1<br />

Select Case ComboBox3.SelectedItem<br />

Case ""<br />

g.DrawLine(Pens.Black, pointx(i), pointy(i), pointx(j), pointy(j))<br />

Case "Black"<br />

g.DrawLine(Pens.Black, pointx(i), pointy(i), pointx(j), pointy(j))<br />

Case "Blue"<br />

g.DrawLine(Pens.Blue, pointx(i), pointy(i), pointx(j), pointy(j))<br />

Case "Red"<br />

g.DrawLine(Pens.Red, pointx(i), pointy(i), pointx(j), pointy(j))<br />

Case "Yellow"<br />

g.DrawLine(Pens.Yellow, pointx(i), pointy(i), pointx(j), pointy(j))<br />

第 42 頁


Case "Green"<br />

g.DrawLine(Pens.Green, pointx(i), pointy(i), pointx(j), pointy(j))<br />

End Select<br />

Next j<br />

Next i<br />

End If<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 43 頁


程式碼 <strong>10</strong> / CH12 / Form1<br />

CH12<br />

Public Class Form1<br />

Dim x As Integer<br />

Private Sub 放大ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

放大ToolStripMenuItem.Click<br />

Me.Width *= 1.2<br />

Me.Height *= 1.2<br />

End Sub<br />

Private Sub 縮小ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

縮小ToolStripMenuItem.Click<br />

Me.Width *= 0.8<br />

Me.Height *= 0.8<br />

End Sub<br />

Private Sub 還原ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

還原ToolStripMenuItem.Click<br />

Me.Width = 300<br />

Me.Height = 300<br />

End Sub<br />

Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem3.Click<br />

x = 200<br />

Me.Invalidate()<br />

ToolStripMenuItem4.Checked = False<br />

ToolStripMenuItem5.Checked = False<br />

End Sub<br />

Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem4.Click<br />

x = 300<br />

Me.Invalidate()<br />

ToolStripMenuItem3.Checked = False<br />

ToolStripMenuItem5.Checked = False<br />

End Sub<br />

Private Sub ToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem5.Click<br />

x = 400<br />

Me.Invalidate()<br />

ToolStripMenuItem3.Checked = False<br />

ToolStripMenuItem4.Checked = False<br />

End Sub<br />

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

e.Graphics.Clear(BackColor)<br />

e.Graphics.FillEllipse(Brushes.Black, <strong>10</strong>, 60, x, x)<br />

End Sub<br />

Private Sub RedToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

RedToolStripMenuItem.Click<br />

Me.BackColor = Color.Red<br />

End Sub<br />

Private Sub GreenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

GreenToolStripMenuItem.Click<br />

第 44 頁


Me.BackColor = Color.Green<br />

End Sub<br />

Private Sub BlueToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

BlueToolStripMenuItem.Click<br />

Me.BackColor = Color.Blue<br />

End Sub<br />

Private Sub 一般ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

一般ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Regular)<br />

End Sub<br />

Private Sub 粗體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

粗體ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Bold)<br />

End Sub<br />

Private Sub 斜體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

斜體ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Italic)<br />

End Sub<br />

Private Sub 粗斜體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 粗斜體ToolStripMenuItem.Click<br />

Label1.Font = New Font(Label1.Font, FontStyle.Bold Or FontStyle.Italic)<br />

End Sub<br />

Private Sub ToolStripMenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem7.Click<br />

Label1.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

End Sub<br />

Private Sub ToolStripMenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem8.Click<br />

Label1.Font = New Font(Label1.Font.Name, 18, Label1.Font.Style)<br />

End Sub<br />

Private Sub ToolStripMenuItem9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem9.Click<br />

Label1.Font = New Font(Label1.Font.Name, 22, Label1.Font.Style)<br />

End Sub<br />

Private Sub 新細明體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 新細明體ToolStripMenuItem.Click<br />

Label1.Font = New Font("新細明體", Label1.Font.Size, Label1.Font.Style)<br />

End Sub<br />

Private Sub 標楷體ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 標楷體ToolStripMenuItem.Click<br />

Label1.Font = New Font("標楷體", Label1.Font.Size, Label1.Font.Style)<br />

End Sub<br />

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton1.Click<br />

Label1.ForeColor = Color.Gold<br />

End Sub<br />

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton2.Click<br />

Label1.ForeColor = Color.Purple<br />

End Sub<br />

Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton3.Click<br />

Label1.ForeColor = Color.OrangeRed<br />

End Sub<br />

Private Sub ToolStripLabel1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripLabel1.Click<br />

'Shell("C:\Windows\notepad.exe", 1)<br />

Shell("notepad", 1)<br />

End Sub<br />

第 45 頁


Private Sub ToolStripLabel2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripLabel2.Click<br />

'Shell("C:\Windows\system32\calc.exe", 1)<br />

Shell("calc", 1)<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 46 頁


程式碼 <strong>10</strong> / CH12 / EX1<br />

Public Class EX1<br />

Dim ok As Boolean = True<br />

Private Sub 公尺英尺ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 公尺英尺ToolStripMenuItem.Click<br />

ok = False<br />

Label1.Text = "公尺:"<br />

Label2.Text = "英尺:"<br />

TextBox1.Text = ""<br />

TextBox2.Text = ""<br />

公尺英尺ToolStripMenuItem.Checked = True<br />

公斤英鎊ToolStripMenuItem.Checked = False<br />

ok = True<br />

End Sub<br />

Private Sub 公斤英鎊ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 公斤英鎊ToolStripMenuItem.Click<br />

ok = False<br />

Label1.Text = "公斤:"<br />

Label2.Text = "英鎊:"<br />

TextBox1.Text = ""<br />

TextBox2.Text = ""<br />

公斤英鎊ToolStripMenuItem.Checked = True<br />

公尺英尺ToolStripMenuItem.Checked = False<br />

ok = True<br />

End Sub<br />

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox1.TextChanged<br />

If ok = True Then<br />

If 公尺英尺ToolStripMenuItem.Checked = True Then<br />

ok = False<br />

TextBox2.Text = Val(TextBox1.Text) * 3.2808<br />

ok = True<br />

Else<br />

ok = False<br />

TextBox2.Text = Val(TextBox1.Text) * 2.203<br />

ok = True<br />

End If<br />

End If<br />

End Sub<br />

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox2.TextChanged<br />

If ok = True Then<br />

If 公尺英尺ToolStripMenuItem.Checked = True Then<br />

ok = False<br />

TextBox1.Text = Val(TextBox2.Text) * 0.3048<br />

ok = True<br />

Else<br />

ok = False<br />

TextBox1.Text = Val(TextBox2.Text) * 0.45359245<br />

ok = True<br />

End If<br />

End If<br />

End Sub<br />

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton1.Click<br />

Label1.ForeColor = Color.Red<br />

第 47 頁


Label2.ForeColor = Color.Red<br />

TextBox1.ForeColor = Color.Red<br />

TextBox2.ForeColor = Color.Red<br />

End Sub<br />

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton2.Click<br />

Label1.ForeColor = Color.Green<br />

Label2.ForeColor = Color.Green<br />

TextBox1.ForeColor = Color.Green<br />

TextBox2.ForeColor = Color.Green<br />

End Sub<br />

Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton3.Click<br />

Label1.ForeColor = Color.Blue<br />

Label2.ForeColor = Color.Blue<br />

TextBox1.ForeColor = Color.Blue<br />

TextBox2.ForeColor = Color.Blue<br />

End Sub<br />

Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem2.Click<br />

Label1.Font = New Font(Label1.Font.Name, <strong>10</strong>, Label1.Font.Style)<br />

Label2.Font = New Font(Label2.Font.Name, <strong>10</strong>, Label2.Font.Style)<br />

TextBox1.Font = New Font(TextBox1.Font.Name, <strong>10</strong>, TextBox1.Font.Style)<br />

TextBox2.Font = New Font(TextBox2.Font.Name, <strong>10</strong>, TextBox2.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小:<strong>10</strong>"<br />

End Sub<br />

Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem3.Click<br />

Label1.Font = New Font(Label1.Font.Name, 12, Label1.Font.Style)<br />

Label2.Font = New Font(Label2.Font.Name, 12, Label2.Font.Style)<br />

TextBox1.Font = New Font(TextBox1.Font.Name, 12, TextBox1.Font.Style)<br />

TextBox2.Font = New Font(TextBox2.Font.Name, 12, TextBox2.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小:12"<br />

End Sub<br />

Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripMenuItem4.Click<br />

Label1.Font = New Font(Label1.Font.Name, 14, Label1.Font.Style)<br />

Label2.Font = New Font(Label2.Font.Name, 14, Label2.Font.Style)<br />

TextBox1.Font = New Font(TextBox1.Font.Name, 14, TextBox1.Font.Style)<br />

TextBox2.Font = New Font(TextBox2.Font.Name, 14, TextBox2.Font.Style)<br />

ToolStripStatusLabel1.Text = "字型大小:14"<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 48 頁


第 49 頁


程式碼 <strong>10</strong> / CH13 / Form1<br />

CH13<br />

Public Class Form1<br />

Dim FileChanged As Boolean = False<br />

Private Sub 開啟ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

開啟ToolStripMenuItem.Click<br />

If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

TextBox1.Text = My.Computer.FileSystem.ReadAllText _<br />

(OpenFileDialog1.FileName, System.Text.Encoding.Default)<br />

Me.Text = OpenFileDialog1.SafeFileName<br />

Label2.Text = OpenFileDialog1.FileName<br />

FileChanged = False<br />

End If<br />

Label3.Text = "大小:" & FileLen(Label2.Text) & "bytes 字數:" & Len(TextBox1.Text)<br />

End Sub<br />

Private Sub 儲存ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

儲存ToolStripMenuItem.Click<br />

If Big5ToolStripMenuItem.Checked = True Then<br />

My.Computer.FileSystem.WriteAllText(Label2.Text, TextBox1.Text, False,<br />

System.Text.Encoding.GetEncoding(950))<br />

Else<br />

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, False)<br />

End If<br />

Me.Text = OpenFileDialog1.SafeFileName<br />

FileChanged = False<br />

End Sub<br />

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox1.TextChanged<br />

Label3.Text = "字數:" & Len(TextBox1.Text)<br />

If FileChanged = False Then<br />

FileChanged = True<br />

Me.Text &= "*"<br />

End If<br />

End Sub<br />

Private Sub 另存新檔ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 另存新檔ToolStripMenuItem.Click<br />

If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

If Big5ToolStripMenuItem.Checked = True Then<br />

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, False,<br />

System.Text.Encoding.GetEncoding(950))<br />

Else<br />

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, False)<br />

End If<br />

Label2.Text = SaveFileDialog1.FileName<br />

FileChanged = False<br />

Me.Text = Mid(SaveFileDialog1.FileName, InStrRev(SaveFileDialog1.FileName, "\") + 1)<br />

End If<br />

End Sub<br />

Private Sub 關閉ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

關閉ToolStripMenuItem.Click<br />

If FileChanged = True Then<br />

第 50 頁


If MsgBox("檔案尚未儲存,是否要儲存?", MsgBoxStyle.YesNo, "是否要儲存") = MsgBoxResult.Yes Then<br />

If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

If Big5ToolStripMenuItem.Checked = True Then<br />

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, False,<br />

System.Text.Encoding.GetEncoding(950))<br />

Else<br />

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, False)<br />

End If<br />

End If<br />

End If<br />

End If<br />

TextBox1.Text = ""<br />

Label2.Text = ""<br />

Me.Text = Me.Name<br />

FileChanged = False<br />

End Sub<br />

Private Sub Big5ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Big5ToolStripMenuItem.Click<br />

UTF8ToolStripMenuItem.Checked = False<br />

UTF16ToolStripMenuItem.Checked = False<br />

End Sub<br />

Private Sub UTF8ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

UTF8ToolStripMenuItem.Click<br />

Big5ToolStripMenuItem.Checked = False<br />

UTF16ToolStripMenuItem.Checked = False<br />

End Sub<br />

Private Sub UTF16ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

UTF16ToolStripMenuItem.Click<br />

Big5ToolStripMenuItem.Checked = False<br />

UTF8ToolStripMenuItem.Checked = False<br />

End Sub<br />

Private Sub 離開ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

離開ToolStripMenuItem.Click<br />

End 執行畫面<br />

End Sub<br />

End Class<br />

第 51 頁


程式碼 <strong>10</strong> / CH13 / Form2<br />

Public Class Form2<br />

Dim writer As System.IO.StreamWriter<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

writer = My.Computer.FileSystem.OpenTextFileWriter("D:\CH13\LogFile.log", True)<br />

Logging("程式啟動")<br />

End Sub<br />

Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

If Not (writer Is Nothing) Then<br />

Logging("程式結束")<br />

writer.Close()<br />

End If<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

Dim LineNum As Integer = 1<br />

Dim reader = My.Computer.FileSystem.OpenTextFileReader(OpenFileDialog1.FileName,<br />

System.Text.Encoding.Default)<br />

While reader.EndOfStream = False<br />

Dim SingleLine = reader.ReadLine<br />

TextBox1.Text &= LineNum.ToString("D3") & " " & SingleLine & vbCrLf<br />

LineNum += 1<br />

End While<br />

reader.Close()<br />

Logging("讀取檔案:" & OpenFileDialog1.FileName)<br />

End If<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text, False)<br />

Logging("儲存檔案:" & SaveFileDialog1.FileName)<br />

End If 執行畫面<br />

End Sub<br />

Private Sub Logging(ByVal Message As String)<br />

writer.WriteLine(Now & ", " & Message)<br />

End Sub<br />

End Class<br />

第 52 頁


第 53 頁


程式碼 <strong>10</strong> / CH13 / Form3<br />

Public Class Form3<br />

Dim MenuFilePath = "D:\CH13\Menu.csv"<br />

Dim MenuItems As New ArrayList<br />

Dim OrderDetail As New ArrayList<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Dim MenuReader = My.Computer.FileSystem.OpenTextFieldParser(MenuFilePath, ",")<br />

While Not MenuReader.EndOfData<br />

Dim OneRow() = MenuReader.ReadFields()<br />

MenuItems.Add(OneRow)<br />

ListBox1.Items.Add(OneRow(0) & " - " & OneRow(1) & "元")<br />

End While<br />

MenuReader.Close()<br />

End Sub<br />

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ListBox1.SelectedIndexChanged<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 Then<br />

TextBox1.Text = MenuItems(index)(0)<br />

TextBox2.Text = MenuItems(index)(1)<br />

End If<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 Then<br />

MenuItems(index)(0) = TextBox1.Text<br />

MenuItems(index)(1) = TextBox2.Text<br />

ListBox1.Items(index) = MenuItems(index)(0) & " - " & MenuItems(index)(1) & "元"<br />

End If<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

If TextBox2.Text "" And Val(TextBox2.Text) > 0 Then<br />

Dim NewItem() = {TextBox1.Text, TextBox2.Text}<br />

MenuItems.Add(NewItem)<br />

ListBox1.Items.Add(TextBox1.Text & " - " & TextBox2.Text & "元")<br />

Else<br />

MsgBox("輸入錯誤!")<br />

End If<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

MenuItems.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Dim MenuWriter = My.Computer.FileSystem.OpenTextFileWriter(MenuFilePath, False)<br />

For Each item In MenuItems<br />

MenuWriter.WriteLine(item(0) & "," & item(1))<br />

Next<br />

MenuWriter.Close()<br />

MsgBox("儲存成功")<br />

End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 And Val(TextBox3.Text) > 0 Then<br />

Dim Entry() = {MenuItems(index)(0), TextBox3.Text, TextBox3.Text * MenuItems(index)(1)}<br />

OrderDetail.Add(Entry)<br />

第 54 頁


ListBox2.Items.Add(MenuItems(index)(0) & ", " & TextBox3.Text & "份, " & Val(TextBox3.Text) *<br />

MenuItems(index)(1) & "元")<br />

End If<br />

End Sub<br />

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click<br />

Dim index = ListBox2.SelectedIndex<br />

If index >= 0 Then<br />

ListBox2.Items.RemoveAt(index)<br />

OrderDetail.RemoveAt(index)<br />

End If<br />

End Sub<br />

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click<br />

If ListBox2.Items.Count > 0 Then<br />

Dim OrderWriter = My.Computer.FileSystem.OpenTextFileWriter("D:\CH13\Orders.csv", True)<br />

Dim Msg As String = "你點了:" & vbCrLf<br />

Dim SubTotal As Integer = 0<br />

For i = 0 To OrderDetail.Count - 1<br />

OrderWriter.WriteLine(Now & OrderDetail(i)(0) & "," & OrderDetail(i)(1) & "," &<br />

OrderDetail(i)(2))<br />

Msg &= ListBox2.Items(i) & vbCrLf<br />

SubTotal += OrderDetail(i)(2)<br />

Next<br />

OrderWriter.Close()<br />

ListBox2.Items.Clear()<br />

OrderDetail.Clear()<br />

MsgBox(Msg & vbCrLf & "共" & SubTotal) 執行畫面<br />

Else<br />

MsgBox("你還沒點菜")<br />

End If<br />

End Sub<br />

End Class<br />

第 55 頁


第 56 頁


程式碼 <strong>10</strong> / CH13 / EX1<br />

Public Class EX1<br />

Dim MenuFilePath = "D:\CH13\Score.csv"<br />

Dim MenuItems As New ArrayList<br />

Private Sub EX1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

Dim MenuReader = My.Computer.FileSystem.OpenTextFieldParser(MenuFilePath, ",")<br />

While Not MenuReader.EndOfData<br />

Dim OneRow() = MenuReader.ReadFields()<br />

MenuItems.Add(OneRow)<br />

ListBox1.Items.Add(OneRow(0) & " ,英文分數:" & OneRow(1) & " ,數學分數:" & OneRow(2))<br />

End While<br />

MenuReader.Close()<br />

Average()<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

MenuItems.RemoveAt(ListBox1.SelectedIndex)<br />

ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)<br />

Average()<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

If TextBox2.Text "" And Val(TextBox2.Text) > 0 Then<br />

Dim NewItem() = {TextBox1.Text, TextBox2.Text, TextBox3.Text}<br />

MenuItems.Add(NewItem)<br />

ListBox1.Items.Add(TextBox1.Text & " ,英文分數:" & TextBox2.Text & " ,數學分數:" & TextBox3.Text)<br />

Else<br />

MsgBox("輸入錯誤!")<br />

End If<br />

Average()<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 Then<br />

MenuItems(index)(0) = TextBox1.Text<br />

MenuItems(index)(1) = TextBox2.Text<br />

MenuItems(index)(2) = TextBox3.Text<br />

ListBox1.Items(index) = MenuItems(index)(0) & " ,英文分數:" & MenuItems(index)(1) & " ,數學分數:<br />

" & MenuItems(index)(2)<br />

End If<br />

Average()<br />

End Sub<br />

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ListBox1.SelectedIndexChanged<br />

Dim index = ListBox1.SelectedIndex<br />

If index >= 0 Then<br />

TextBox1.Text = MenuItems(index)(0)<br />

TextBox2.Text = MenuItems(index)(1)<br />

TextBox3.Text = MenuItems(index)(2)<br />

End If<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Dim MenuWriter = My.Computer.FileSystem.OpenTextFileWriter(MenuFilePath, False)<br />

For Each item In MenuItems<br />

MenuWriter.WriteLine(item(0) & "," & item(1) & "," & item(2))<br />

Next<br />

MenuWriter.Close()<br />

MsgBox("儲存成功")<br />

第 57 頁


Average()<br />

End Sub<br />

Private Sub Average()<br />

Dim Esum, Msum As Integer<br />

For Each item In MenuItems<br />

Esum += item(1)<br />

Msum += item(2)<br />

Next<br />

Label5.Text = Math.Round(Esum / ListBox1.Items.Count, 2)<br />

Label7.Text = Math.Round(Msum / ListBox1.Items.Count, 2)<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 58 頁


程式碼 <strong>10</strong> / CH14-1 / Form1<br />

CH14-1<br />

Public Class Form1<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As<br />

System.EventArgs) Handles 書籍BindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.產品DataSet)<br />

End Sub<br />

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet.書籍)<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 59 頁


2<br />

程式碼 <strong>10</strong> / CH14-1 / Form2<br />

Public Class Form2<br />

Private Sub TshirtBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles TshirtBindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.TshirtBindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.成衣DataSet)<br />

End Sub<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '成衣DataSet.Tshirt' 資料表。您可以視需要進行移動或移除。<br />

Me.TshirtTableAdapter.Fill(Me.成衣DataSet.Tshirt)<br />

End Sub 執行畫面<br />

End Class<br />

3<br />

程式碼 <strong>10</strong> / CH14-1 / Form3<br />

Public Class Form3<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 書籍BindingNavigatorSaveItem.Click<br />

End Sub<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.產品DataSet1)<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

End Sub<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet1.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet1.書籍)<br />

End Class<br />

第 60 頁


4<br />

程式碼 <strong>10</strong> / CH14-1 / Form4<br />

執行畫面<br />

Public Class Form4<br />

Private Sub Form4_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

DataGridView1.EndEdit()<br />

書籍TableAdapter.Update(產品DataSet.書籍)<br />

End Sub<br />

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet.書籍)<br />

End Sub 執行畫面<br />

End Class<br />

第 61 頁


5<br />

程式碼 <strong>10</strong> / CH14-1 / Form5<br />

Public Class Form5<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 書籍BindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.產品DataSet1)<br />

End Sub<br />

Private Sub Form5_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

DataGridView1.EndEdit()<br />

書籍TableAdapter.Update(產品DataSet1.書籍)<br />

End Sub<br />

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet1.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet1.書籍)<br />

End Sub<br />

End Class 執行畫面<br />

6<br />

程式碼 <strong>10</strong> / CH14-1 / Form6<br />

Public Class Form6<br />

Private Sub TshirtBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles TshirtBindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.TshirtBindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.成衣DataSet1)<br />

End Sub<br />

Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '成衣DataSet1.Tshirt' 資料表。您可以視需要進行移動或移除。<br />

Me.TshirtTableAdapter.Fill(Me.成衣DataSet1.Tshirt)<br />

End Sub<br />

End Class<br />

第 62 頁


7<br />

程式碼 <strong>10</strong> / CH14-1 / Form7<br />

執行畫面<br />

Public Class Form7<br />

Private Sub 書籍BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 書籍BindingNavigatorSaveItem.Click<br />

Me.Validate()<br />

Me.書籍BindingSource.EndEdit()<br />

Me.TableAdapterManager.UpdateAll(Me.產品DataSet1)<br />

End Sub<br />

Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet1.類別' 資料表。您可以視需要進行移動或移除。<br />

Me.類別TableAdapter.Fill(Me.產品DataSet1.類別)<br />

'TODO: 這行程式碼會將資料載入 '產品DataSet1.書籍' 資料表。您可以視需要進行移動或移除。<br />

Me.書籍TableAdapter.Fill(Me.產品DataSet1.書籍)<br />

End Sub<br />

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton1.Click<br />

OpenFileDialog1.Filter = "圖檔|*.jpg;*.gif;*.jpeg;*.png;*.tif|所有檔案|*.*"<br />

If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

圖片PictureBox.Image = New Bitmap(OpenFileDialog1.FileName)<br />

End If<br />

End Sub<br />

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

ToolStripButton2.Click<br />

圖片PictureBox.Image = Nothing<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 63 頁


程式碼 <strong>10</strong> / Exam1 / Form1<br />

Exam1<br />

Public Class Form1<br />

Dim a, b As Integer<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Label4.Text = "+"<br />

a = Val(TextBox1.Text) : b = Val(TextBox2.Text)<br />

TextBox3.Text = a + b<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

Label4.Text = "-"<br />

a = Val(TextBox1.Text) : b = Val(TextBox2.Text)<br />

TextBox3.Text = a - b<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Label4.Text = "X"<br />

a = Val(TextBox1.Text) : b = Val(TextBox2.Text)<br />

TextBox3.Text = a * b<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

Label4.Text = "÷"<br />

a = Val(TextBox1.Text) : b = Val(TextBox2.Text)<br />

TextBox3.Text = a / b 執行畫面<br />

End Sub<br />

End Class<br />

第 64 頁


程式碼 <strong>10</strong> / Exam1 / Form2<br />

Public Class Form2<br />

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox2.TextChanged<br />

TextBox4.Text = Val(TextBox2.Text) * Val(TextBox3.Text)<br />

End Sub<br />

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

TextBox3.TextChanged<br />

TextBox4.Text = Val(TextBox2.Text) * Val(TextBox3.Text)<br />

End Sub<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

TextBox5.Text = " 購買清單 " & Now & vbCrLf & "品名 單價 數量 金額"<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

TextBox5.Text = TextBox5.Text & vbCrLf & TextBox1.Text & vbTab & TextBox2.Text _<br />

& vbTab & TextBox3.Text & vbTab & TextBox4.Text<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

TextBox5.Text = " 購買清單 " & Now & vbCrLf & "品名 單價 數量 金額"<br />

End Sub 執行畫面<br />

End Class<br />

第 65 頁


程式碼 <strong>10</strong> / Exam2 / Form1<br />

Exam2<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Dim a, t As Integer<br />

If Val(TextBox1.Text) Mod 7 = 0 Then<br />

a = Val(TextBox1.Text) / 7<br />

Else 執行畫面<br />

a = Val(TextBox1.Text) \ 7<br />

End If<br />

For i = 7 To a * 7 Step 7<br />

t = t + i<br />

Next i<br />

Label2.Text = "計算結果:" & t<br />

TextBox1.Focus()<br />

End Sub<br />

End Class<br />

程式碼 <strong>10</strong> / Exam2 / Form2<br />

Public Class Form2<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button1.Click<br />

Dim m As Integer<br />

a:<br />

If Val(TextBox1.Text) < 0 Then MsgBox("年資不能為負數", 16 + 0, "錯誤") _<br />

: TextBox1.Text = "" : TextBox1.Focus() : Exit Sub<br />

If Val(TextBox1.Text) = 0 Then m = 0 : GoTo a<br />

If Val(TextBox1.Text) < 5 Then m = 30000<br />

If Val(TextBox1.Text) >= 5 Then m = 40000<br />

If Val(TextBox1.Text) > <strong>10</strong> Then m = 50000<br />

If RadioButton1.Checked = True Then m = m + <strong>10</strong>000<br />

If RadioButton2.Checked = True Then m = m + 5000<br />

If RadioButton3.Checked = True Then m = m + 3000<br />

If CheckBox1.Checked = True Then m = m - <strong>10</strong>00<br />

If CheckBox2.Checked = True Then m = m - 600<br />

TextBox2.Text = m<br />

TextBox1.Focus()<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

Button2.Click<br />

End<br />

End Sub<br />

End Class<br />

第 66 頁


執行畫面<br />

第 67 頁


程式碼 <strong>10</strong> / Exam3 / Form1<br />

Exam3<br />

Public Class Form1<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

GCD(Val(TextBox1.Text), Val(TextBox2.Text))<br />

TextBox4.Text = Val(TextBox1.Text) * Val(TextBox2.Text) / Val(TextBox3.Text)<br />

End Sub<br />

Private Function GCD(ByVal i As Integer, ByVal j As Integer) As Integer<br />

Dim a As Integer<br />

a = i Mod j<br />

If a = 0 Then<br />

TextBox3.Text = j 執行畫面<br />

Else<br />

GCD(j, a)<br />

End If<br />

End Function<br />

End Class<br />

程式碼 <strong>10</strong> / Exam3 / Form2<br />

Public Class Form2<br />

Dim win, lose As Integer<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

Randomize()<br />

Dim a, b As Integer<br />

a = Int(Rnd() * 6 + 1)<br />

b = Int(Rnd() * 6 + 1)<br />

PictureBox1.Image = New Bitmap("..\..\" & a & ".gif")<br />

PictureBox2.Image = New Bitmap("..\..\" & b & ".gif")<br />

If RadioButton1.Checked = True Then<br />

If a + b


lose = lose + 1<br />

MsgBox("你輸了,共贏了" & win & "次,輸了" & lose & "次", 16, ">__


程式碼 <strong>10</strong> / Exam4 / Form2<br />

Exam4<br />

Public Class Form2<br />

Private Sub Form2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles<br />

Me.Paint<br />

Dim g = e.Graphics<br />

Dim width As Integer = Me.ClientSize.Width<br />

Dim height As Integer = Me.ClientSize.Height<br />

Dim p1 = New Point(width / 2, 0)<br />

Dim p2 = New Point(width / 2, height)<br />

Dim p3 = New Point(0, height / 2)<br />

Dim p4 = New Point(width, height / 2)<br />

g.FillEllipse(Brushes.White, 0, 0, width, height)<br />

g.DrawEllipse(Pens.Black, 0, 0, width, height)<br />

g.DrawLine(Pens.Black, p1, p2)<br />

g.DrawLine(Pens.Black, p3, p4)<br />

End Sub<br />

Private Sub Form2_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged<br />

Me.Invalidate()<br />

End Sub<br />

End Class<br />

執行畫面<br />

MP3<br />

程式碼 <strong>10</strong> / Exam4 / Form3<br />

Public Class Form3<br />

Dim StarTtime As Date<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

If ListBox1.SelectedIndex = -1 Then<br />

MsgBox("未選取歌曲", 0 + 64, "確認")<br />

Else<br />

AxWindowsMediaPlayer1.URL = "C:\Exam4\" & ListBox1.SelectedItem<br />

AxWindowsMediaPlayer1.Ctlcontrols.play()<br />

第 70 頁


StarTtime = Now<br />

Timer1.Enabled = True<br />

End If<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

AxWindowsMediaPlayer1.Ctlcontrols.stop()<br />

End Sub<br />

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick<br />

Label1.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentPositionString<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 71 頁


程式碼 <strong>10</strong> / Exam5 / Form1<br />

Exam5<br />

Public Class Form1<br />

Dim f As String<br />

Dim color1() = {Color.Orange, Color.OrangeRed, Color.Pink, Color.Purple, _<br />

Color.Ivory, Color.SlateGray, Color.Tan, Color.Yellow, _<br />

Color.Silver, Color.Green}<br />

Dim color2() = {Color.Gray, Color.Cyan, Color.Black, Color.Aqua, Color.Blue, _<br />

Color.Linen, Color.MediumBlue, Color.Brown, Color.Gold, _<br />

Color.AntiqueWhite, Color.Indigo}<br />

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

f = "右下"<br />

Randomize()<br />

End Sub<br />

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick<br />

Dim a, b As Integer<br />

a = Fix(Rnd() * <strong>10</strong>)<br />

b = Fix(Rnd() * <strong>10</strong>)<br />

Label1.ForeColor = color1(a)<br />

Me.BackColor = color2(b)<br />

If Label1.Location.X + 270 > Me.ClientSize.Width Then<br />

If f = "右下" Then f = "左下"<br />

If f = "右上" Then f = "左上"<br />

End If<br />

If Label1.Location.Y + 33 > Me.ClientSize.Height Then<br />

If f = "左下" Then f = "左上"<br />

If f = "右下" Then f = "右上"<br />

End If<br />

If Label1.Location.X


If e.Button = Windows.Forms.MouseButtons.Left Then End<br />

End Sub<br />

End Class 執行畫面<br />

第 73 頁


程式碼 <strong>10</strong> / Exam5 / Form2<br />

Public Class Form2<br />

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

TextBox1.Text = CurDir()<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

display()<br />

TextBox1.SelectionStart = Len(TextBox1.Text)<br />

End Sub<br />

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />

ChDir("..")<br />

TextBox1.Text = (formatDir(CurDir))<br />

display()<br />

End Sub<br />

Function formatDir(ByVal strDir As String) As String<br />

If Microsoft.VisualBasic.Right(strDir, 1) "\" Then<br />

strDir &= "\"<br />

End If<br />

Return strDir<br />

End Function<br />

Sub display()<br />

Dim strItem As String<br />

ListBox1.Items.Clear()<br />

ListBox2.Items.Clear()<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

ChDir(TextBox1.Text)<br />

strItem = Dir("*.*", 18)<br />

Do Until strItem = ""<br />

If (GetAttr(TextBox1.Text & strItem) And 16) = 16 Then<br />

ListBox1.Items.Add(strItem)<br />

Else<br />

ListBox2.Items.Add(strItem)<br />

End If<br />

strItem = Dir()<br />

Loop<br />

End Sub<br />

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />

display()<br />

End Sub<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

Try<br />

MkDir(TextBox1.Text)<br />

Catch ex As Exception<br />

MsgBox("資料夾已存在", 0 + 64, "")<br />

End Try<br />

display()<br />

End Sub<br />

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

Try<br />

My.Computer.FileSystem.DeleteDirectory(TextBox1.Text & ListBox1.SelectedItem,<br />

FileIO.DeleteDirectoryOption.DeleteAllContents)<br />

Catch ex As Exception<br />

MsgBox("無法刪除此資料夾", 0 + 64, "")<br />

End Try<br />

display()<br />

第 74 頁


End Sub<br />

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

Try<br />

My.Computer.FileSystem.DeleteFile(TextBox1.Text & ListBox2.SelectedItem)<br />

Catch ex As Exception<br />

MsgBox("無法刪除檔案", 0 + 64, "")<br />

End Try<br />

display()<br />

End Sub<br />

Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As<br />

System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

TextBox1.Text &= ListBox1.SelectedItem<br />

display()<br />

End Sub<br />

Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles ListBox2.SelectedIndexChanged<br />

Dim s As String<br />

TextBox1.Text = formatDir(TextBox1.Text)<br />

If GetAttr(TextBox1.Text & ListBox2.SelectedItem) And 1 Then s += "+唯讀"<br />

If GetAttr(TextBox1.Text & ListBox2.SelectedItem) And 2 Then s += "+隱藏"<br />

If GetAttr(TextBox1.Text & ListBox2.SelectedItem) And 4 Then s += "+系統"<br />

If GetAttr(TextBox1.Text & ListBox2.SelectedItem) And 32 Then s += "+保存"<br />

If Microsoft.VisualBasic.Left(s, 1) = "+" Then s = Mid(s, 2)<br />

Label2.Text = "屬性:" & s<br />

ToolStripStatusLabel1.Text = "檔案大小:" & FileLen(TextBox1.Text & ListBox2.SelectedItem) & "bytes"<br />

_<br />

& " 修改日期:" & FileDateTime(TextBox1.Text & ListBox2.SelectedItem)<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 75 頁


第 76 頁


程式碼 <strong>10</strong> / Exam5 / Form3<br />

Public Class Form3<br />

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br />

TextBox1.Text = My.Computer.FileSystem.ReadAllText("..\..\note.txt")<br />

TextBox1.SelectionStart = Len(TextBox1.Text)<br />

End Sub<br />

Private Sub Form3_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)<br />

Handles Me.FormClosing<br />

My.Computer.FileSystem.WriteAllText("..\..\note.txt", TextBox1.Text, False)<br />

End Sub<br />

Private Sub 字型ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles<br />

字型ToolStripMenuItem.Click<br />

If FontDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then<br />

TextBox1.Font = FontDialog1.Font<br />

End If<br />

End Sub<br />

Private Sub 背景顏色ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)<br />

Handles 背景顏色ToolStripMenuItem.Click<br />

If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then<br />

TextBox1.BackColor = ColorDialog1.Color<br />

End If<br />

End Sub<br />

End Class<br />

執行畫面<br />

第 77 頁


程式碼 <strong>10</strong> / Exam6 / Form1<br />

Exam6<br />

Public Class Form1<br />

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click<br />

Dim n As String<br />

Dim total As Integer<br />

For i = 1 To Len(TextBox3.Text)<br />

If Asc(Mid(TextBox3.Text, i, 1)) >= 48 And Asc(Mid(TextBox3.Text, i, 1))


Case 73<br />

n = 34<br />

Case 74 To 78<br />

n = Asc(Mid(TextBox4.Text, 1, 1)) - 56<br />

Case 79<br />

n = 35<br />

Case 80 To 86<br />

n = Asc(Mid(TextBox4.Text, 1, 1)) - 57<br />

Case 87<br />

n = 32<br />

Case 88 To 89<br />

n = Asc(Mid(TextBox4.Text, 1, 1)) - 58<br />

Case 90<br />

n = 33<br />

End Select<br />

s = Microsoft.VisualBasic.Trim(Str(n))<br />

For i = 2 To 9<br />

s = s & Mid(TextBox4.Text, i, 1)<br />

Next i<br />

m = Val(Mid(s, 1, 1)) + Val(Mid(s, 2, 1)) * 9<br />

For i = 8 To 1 Step -1<br />

m = m + Val(Mid(s, 11 - i, 1)) * i<br />

Next i<br />

If <strong>10</strong> - (m Mod <strong>10</strong>) = Val(Mid(TextBox4.Text, <strong>10</strong>, 1)) Then<br />

Label8.Text = "正確"<br />

Else<br />

Label8.Text = "錯誤" 執行畫面<br />

End If<br />

End Sub<br />

End Class<br />

第 79 頁


第 80 頁

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

Saved successfully!

Ooh no, something went wrong!