Visual Basic是目前進(jìn)行Windows 應(yīng)用程序設(shè)計的工具之一,也是最佳的程序設(shè)計入門語言。
一、設(shè)計目標(biāo)
1.知識目標(biāo)
熟練控件數(shù)組的繪制及代碼編寫;掌握控件數(shù)組的概念和作用;理解Index屬性的作用和用法。
2.能力目標(biāo)
培養(yǎng)學(xué)生觀察對比能力、設(shè)計創(chuàng)造能力、協(xié)作學(xué)習(xí)能力及自學(xué)能力。
3.情感目標(biāo)
培養(yǎng)學(xué)生求知的意識。
二、設(shè)計思路
1.教學(xué)重點
掌握控件數(shù)組的概念和作用。
2.教學(xué)難點
理解Index屬性的作用和用法,能夠做到靈活應(yīng)用。
3.重點、難點的突破
首先要求學(xué)生制作一個簡易撥號盤,然后把事件和代碼通過表格的方式列出(表1),一起找到這組代碼的共性和特性,從而引出控件數(shù)組及Index屬性的特點及應(yīng)用。再以“生肖計算器”來實現(xiàn)拓展應(yīng)用和遷移實踐。生肖計算器的選擇不僅可以和實際相結(jié)合激發(fā)學(xué)生的興趣,而且可以進(jìn)一步強化練習(xí)index屬性的設(shè)置及應(yīng)用,從而突破難點的講解。
三、教學(xué)過程
1. 設(shè)置情境,導(dǎo)出課題
選幾名同學(xué)上來玩“移動板游戲”(圖1),看誰最快完成。許多同學(xué)通過觀察發(fā)現(xiàn),移動板和按鈕控件很像,這時提出問題:“這么多的按鈕,該如何去添加呢?”從而呈現(xiàn)出任務(wù):制作一個簡易模擬電話撥號盤(圖2)。要求:運行時,單擊數(shù)字鍵將在文本框中顯示撥號的號碼;“清空”鍵表示撤消所有撥號,清空文本框。
設(shè)計意圖:通過玩VB編輯的移動板游戲,創(chuàng)設(shè)情境,激發(fā)學(xué)生興趣,同時提出觀察任務(wù),讓學(xué)生帶著疑問去玩。再通過設(shè)疑,來導(dǎo)出今天的任務(wù),從而做下鋪墊,將學(xué)生一步步地引入到今天需要探究和學(xué)習(xí)的內(nèi)容中。
2. 呈現(xiàn)個案,探究任務(wù)
首先由學(xué)生探究制作完成電話號碼撥號盤界面,再引導(dǎo)學(xué)生完成“代碼1”的編寫,之后請學(xué)生仔細(xì)觀察每個代碼是否有相似之處。
代碼1:
Private Sub Command0_Click()
Text1.Text = Text1.Text + \"0\"
End Sub
Private Sub Command1_Click()
Text1.Text = Text1.Text + \"1\"
End Sub
:
:
Private Sub Command9_Click()
Text1.Text = Text1.Text + \"9\"
End Sub
接著帶領(lǐng)學(xué)生來“撥開迷霧找出真相”,把關(guān)鍵點和相似代碼以表格的形式例舉出來(表1),這樣問題的根源找到了,緊接著提出可以減少相似代碼的方法,那就是控件數(shù)組。
然后講解控件數(shù)組的建立方法。方法一:復(fù)制、粘貼控件;方法二:先添加控件,再依次修改各個相同控件的名稱。尤其特別強調(diào):控件數(shù)組是利用Index屬性進(jìn)行區(qū)分。再引入控件數(shù)組的“代碼2”,形成強烈的對比。
代碼2:
Private Sub Command1_Click(Index As Integer)
Text1.Text = Text1.Text Index
End Sub
最后講解控件數(shù)組:控件數(shù)組指具有相同name屬性的控件集合。通過使用控件數(shù)組,可以使這些控件共享相同的事件過程。也可以通過參數(shù)Index來區(qū)分是哪個控件觸發(fā)的事件。同一控件數(shù)組中,每個控件可以有各自不同的屬性設(shè)置。控件數(shù)組建立以后必須通過Index屬性來區(qū)分它們。優(yōu)點:節(jié)省代碼,增加可讀性,同時也減少了內(nèi)存的開銷。控件數(shù)組分為靜態(tài)數(shù)組及動態(tài)數(shù)組兩種,本節(jié)主要講解靜態(tài)數(shù)組。
設(shè)計意圖:提出簡單明了的任務(wù)要求,讓學(xué)生利用已學(xué)知識完成控件的制作,之后筆者在學(xué)生完成的基礎(chǔ)上進(jìn)行相關(guān)代碼的講解,從而不著痕跡的引入控件數(shù)組及其代碼的編寫。通過兩者的比對,引出控件數(shù)組,從直觀上就讓學(xué)生明白控件數(shù)組的優(yōu)勢,從而有一種迫不急待的想要嘗試制作的沖動。
3.拓展應(yīng)用,遷移實踐
接下來就請同學(xué)們制作一個生肖計算器(圖3),并提示他們建立標(biāo)簽控件數(shù)組,Index屬性值設(shè)置見表2。
其中的關(guān)鍵代碼如下:
index = year Mod 12
Label3.Caption = “你的生肖是:” Label1(index).Caption
Label1(index).BorderStyle = 1
設(shè)計意圖:以學(xué)生比較感興趣的生肖為題,通過該案例來拓展講解控件數(shù)組,達(dá)到遷移實踐的效果,從而讓他們鞏固控件數(shù)組的知識點。
4. 歸納總結(jié),回顧鞏固
控件數(shù)組的繪制及代碼編寫;控件數(shù)組的概念和作用;Index屬性的作用;再次展示利用控件數(shù)組制作的相關(guān)示例:模擬電子琴、Windows自帶的計算器。
設(shè)計意圖:歸納總結(jié)本節(jié)課的知識點,并欣賞控件數(shù)組制作的相關(guān)示例,開拓眼界,了解控件數(shù)組應(yīng)用的重要性,為下節(jié)課埋下伏筆。
5.布置作業(yè),實踐提高
包括:繼續(xù)根據(jù)自己的要求完善模擬電話撥號盤;制作通用對話框調(diào)用菜單(如圖4所示,并做提示:打開通用對話框的Action屬性設(shè)置0-無、1-打開、2 -另存為、3-顏色、4 -字體、5-打印、6-幫助);嘗試制作迷你計算器設(shè)計意圖:由于計算機的課程的特殊性,一些上機的作業(yè)均會在課堂上完成,所以這個作業(yè)也是需要在課堂上做完后再上交的,這些作業(yè)不僅增加的靈活性,還增加了思考性,從而讓同學(xué)們能夠加深對控件數(shù)組的應(yīng)用,并能夠利用所學(xué)知識豐富自己制作的程序,做到了舉一反三。
四、教學(xué)后記
1.設(shè)計思想
本課的設(shè)計思想是按照大綱要求遵循職高生的認(rèn)知規(guī)律。
2.設(shè)計過程
本節(jié)的教學(xué)分為四個階段:創(chuàng)設(shè)情景激發(fā)學(xué)生的學(xué)習(xí)興趣;教師通過對比案例講解控件數(shù)組和index屬性的設(shè)置;學(xué)生根據(jù)掌握的新知,拓展應(yīng)用去解決具體問題;開拓視野,見識各類由控件數(shù)組編輯的程序,為進(jìn)一步探究做鋪墊。
3.課后得失
成功之處:引出比較有趣味性,實例較符合學(xué)生口味,引起了學(xué)生極大的興趣;教學(xué)任務(wù)設(shè)計符合本課的教學(xué)目標(biāo),尤其非常符合學(xué)生的興趣特點,“任務(wù)”和“驅(qū)動”之間的統(tǒng)一性得到了較好的體現(xiàn);知識點難度分解逐步推進(jìn),由簡入難,再通過實例訓(xùn)練逐步展現(xiàn)出來。
不足之處:除了知識點的教學(xué)外,還應(yīng)在每次的教學(xué)過程中不斷強調(diào)VB程序書寫的規(guī)范性,以便于閱讀代碼;由于VB課程對部分學(xué)生來說還是有一定難度的,在他們眼里是非常枯燥和難懂的,因此對學(xué)生要進(jìn)行賞識教育,可以采用不同的激勵機制(語言評價、肢體評價、動作評價)。
(作者單位:浙江省溫州機電高級技工學(xué)校)