齊愛朋
(河南工業貿易職業學院,河南 鄭州 451191)
教學方法的研究始終是教學研究的核心內容,啟發式教學、討論式教學、學生展示式教學、案例式教學等都能引導學生進行積極主動的思考,激發學生學習的熱情。隨著新技術的出現,課程教學有了很多新方法,如疫情期間的網絡教學。新的技術、新的課程都在呼喚更適合、更有效的教學方法。本文就“Ⅴisual Basic 程序設計”這一門課程的教學為例,進行教學方法的探究。
Ⅴisual Basic 是Microsoft 公司開發的一種通用的基于對象的程序設計語言,是結構化的、模塊化的、面向對象的、包含協助開發環境的事件驅動為機制的可視化程序設計語言[1]。ⅤB 擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,程序員可以輕松地使用ⅤB 提供的組件快速建立一個應用程序。
基于ⅤB 以上的特點,許多高校均把“Ⅴisual Basic程序設計”作為大學生的編程入門課。河南工業貿易職業學院是高職院校,學生入學成績低、文化基礎差、自主學習能力較低,筆者依據多年教學經驗,總結出了上好ⅤB 課的方法,即:少理論、多實踐;舉例由淺入深,循序漸進;增加應用實例的趣味性。
下面以學習ⅤB 中Timer 控件為例,研討如何吸引學生跟隨教師的思路,快速掌握該控件的應用,并進一步熟悉ⅤB 程序的開發方法。
ⅤB 程序設計一般包括界面設計和代碼設計2個步驟。
界面設計:ⅤB 提供有工具箱,如圖1 所示,包含豐富的控件,如文本框控件用于接收用戶的輸入、標簽框可以顯示信息、圖像框可以在窗體上顯示圖片、命令按鈕在運行時可以響應用戶的單擊事件等,方便用戶設計界面。將這些控件添加到窗體上,并對相關的屬性進行設置,就能設計出滿足需要的各種界面了。設計程序時,只需依據功能,將相應的控件添加到窗體上,設置好格式及相應的屬性,一個窗體應用程序的界面就設置好了。

圖1 工具箱
代碼編寫:ⅤB 采用事件驅動的編程機制,即在程序運行時發生了某種事件才執行相應事件里的代碼,所以ⅤB 的代碼都是寫在對象相應的事件過程中的。比如,程序運行時,若用戶單擊了某個命令按鈕,程序就會執行該命令按扭的Click 事件代碼。
所以學習ⅤB 控件,需要學習該控件具有哪些屬性、其含義是什么、可響應什么事件及事件在什么情況下發生。
在Windows 應用程序中常常要用到時間控制的功能,如在程序界面上顯示當前時間,或者每隔多長時間重復執行一個事件等。Timer(時間)控件就是專門解決這方面問題的控件[2]。
Timer 控件的常用屬性只有Interval 和Enabled2 個。
Interval(時間間隔)屬性:用于設定計時器觸發事件的時間間隔,單位為毫秒(ms),取值范圍為0~65 535 ms。若將Interval 屬性設置為0 或負數,則計時器停止工作。
Enabled(可用)屬性:用于設置計時器是否有效。值為True(默認值),而且Interval 值大于0,計時器開始工作;值為False,計時器則停止工作。
Timer 控件唯一的事件就是Timer 事件。Timer 事件以Interval 屬性指定的間隔時間發生,可將需要定時重復執行的操作放在該事件過程中完成。需要注意,當Enabled 屬性值為True 且Interval 屬性值大于0 時,計時器才能響應Timer 事件。
掌握了Timer 控件的屬性及事件,就可以引導學生進行實例演練了。
為了讓學生更好地掌握Timer 控件的應用,筆者采用了從單一功能到綜合功能的方法,通過逐步引導學生實現:新年倒計時、閃爍的新年快樂、禮花綻放同時伴隨鞭炮聲,最后再綜合到一起來實現一個動態的新年場景。
采用一個標簽框顯示數字,用一個Timer 控件控制按秒倒計時,實現從10 倒計時到0 停止。界面及實現代碼如圖2 所示。

圖2 倒計時器
采用一個標簽框顯示文字,用一個Timer 控件控制文字的字號有規律地變大變小,字號在10~100 號之間變化。界面及實現代碼如圖3 所示。

圖3 閃爍文字
通過一個Timer 規律地在窗體上打印顏色隨機、位置任意、大小不斷變化的禮花。這里用隨機函數Randomize 和Rnd 來產生隨機數。界面及實現代碼如圖4 所示。

圖4 禮花綻放
提前下載好禮花燃放的音效文件“1.mp3”,并存放在當前工程文件夾下。單擊“工程”|“部件”,打開“部件”對話框,添加“Windows Media Player”控件到工具箱。往“禮花綻放”窗體添加媒體播放器對象WindowsMediaPlayer1,并在窗體的Load 事件中添加代碼: WindowsMediaPlayer1.URL = App.Path +"1.mp3"。
在Timer 事件中添加代碼:WindowsMediaPlayer1.Controls.play。重新運行程序,在禮花綻放的同時就會伴有禮花燃放的聲音了。
通過以上幾個單一功能的實現,學生已較好地掌握了Timer 控件。下面引導學生將上面3 個窗體功能合并到一個窗體上,實現新年倒計時結束后緊接著問候新年、禮花升起在效果。從而讓學生進一步掌握多計時器的應用及如何在準確的時間點啟動/停止計時器。
在同一個窗體上添加3 個計時器,其中Timer1 控制倒計時,Timer2 控制閃爍的文字,Timer3 控制禮花綻放及鞭炮聲。再參考前面單一功能添加2 個標簽框和1 個播放器,如圖5 所示。

圖5 新年到
修改窗體的Load 事件代碼及Timer1 的Timer 事件代碼,使得Timer1 先工作進行倒計時,計時結束后再啟動Timer2 和Timer3 顯示閃爍文字并燃放禮花。修改后的代碼如圖6 所示。
程序運行期間,當用戶調窗體大小時,文字將不能始終在窗體正中間,影響效果。由于當窗體大小發生變化時,將觸發窗體的Resize 事件,所以在該事件中加入相應代碼,當用戶調整窗體大小時,讓文字始終在窗體的中心位置顯示而不會偏在一邊。實現代碼如圖7 所示。

圖6 修改后的代碼

圖7 Resize 事件代碼
最后再生成可執行的exe 文件,一個能獨立運行的動態的新年場景就做好了。
Timer 控件是ⅤB 中唯一能實現動態效果的控件,通過該控件把學過的知識綜合應用起來,可以增加程序的趣味性,從而提高學生學習的興趣。這種理論知識加循序漸進創作實例的教學方法,簡化了學習的難度,讓基礎不好的學生也能掌握,也給基礎好的學生指出了進一步擴展更多功能的方法,能充分調動學生學習興趣及學習積極性,起到事半功倍的效果。