VB2008 學習檔案學生:劉家豪座號:10 指導老師:張銘棋老師
VB2008 學習檔案學生:劉家豪座號:10 指導老師:張銘棋老師
VB2008 學習檔案學生:劉家豪座號:10 指導老師:張銘棋老師
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 頁