《VB.NET程序設(shè)計(jì)》課程設(shè)計(jì)Windows定時(shí)關(guān)機(jī)程序設(shè)計(jì)_第1頁(yè)
《VB.NET程序設(shè)計(jì)》課程設(shè)計(jì)Windows定時(shí)關(guān)機(jī)程序設(shè)計(jì)_第2頁(yè)
《VB.NET程序設(shè)計(jì)》課程設(shè)計(jì)Windows定時(shí)關(guān)機(jī)程序設(shè)計(jì)_第3頁(yè)
《VB.NET程序設(shè)計(jì)》課程設(shè)計(jì)Windows定時(shí)關(guān)機(jī)程序設(shè)計(jì)_第4頁(yè)
《VB.NET程序設(shè)計(jì)》課程設(shè)計(jì)Windows定時(shí)關(guān)機(jī)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、青島大學(xué)軟件技術(shù)學(xué)院課 程 設(shè) 計(jì)題目名稱 windows定時(shí)關(guān)機(jī)程序 姓 名 專 業(yè) 軟件技術(shù) 班 級(jí) 06級(jí)軟件技術(shù)202班指導(dǎo)教師 二00七 年 七 月 十九 日 課程設(shè)計(jì)任務(wù)書 課程設(shè)計(jì)的目的本課程設(shè)計(jì)是vb.net程序設(shè)計(jì)課程的具體應(yīng)用和實(shí)踐,是計(jì)算機(jī)軟件的專業(yè)課知識(shí)的綜合應(yīng)用,其重點(diǎn)在于將理論知識(shí)應(yīng)用于一個(gè)具體的軟件項(xiàng)目開發(fā)。通過(guò)查閱相關(guān)資料、了解國(guó)內(nèi)外軟件項(xiàng)目發(fā)展、系統(tǒng)需求分析、系統(tǒng)總體和詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)和運(yùn)行、系統(tǒng)測(cè)試和維護(hù)等過(guò)程復(fù)習(xí)和鞏固該課程相關(guān)的理論專業(yè)知識(shí),鍛煉和提高學(xué)生綜合應(yīng)用和動(dòng)手實(shí)踐能力。課程設(shè)計(jì)的基本要求1、 復(fù)習(xí)鞏固vb.net語(yǔ)言的基本語(yǔ)法知識(shí);2、 掌握

2、面向?qū)ο蟮某绦蛟O(shè)計(jì)基本思路和方法;3、 了解軟件項(xiàng)目開發(fā)(軟件工程)的基本過(guò)程;4、 鍛煉提高動(dòng)手實(shí)踐和綜合分析、解決實(shí)際問題的能力。課程設(shè)計(jì)進(jìn)度1)設(shè)計(jì)構(gòu)思,搜集資料 2天2)程序界面設(shè)計(jì)和編寫代碼 3天3)程序測(cè)試修改,使程序完備 2天4)初步完成設(shè)計(jì)報(bào)告 3天5)經(jīng)老師指導(dǎo)完善設(shè)計(jì)報(bào)告 1天目錄一 前言31.1程序概述31.2系統(tǒng)相關(guān)原理3二 程序總體設(shè)計(jì)42.1基本簡(jiǎn)介42.2運(yùn)行環(huán)境與系統(tǒng)結(jié)構(gòu)42.3程序應(yīng)該具備的基本功能4三 程序詳細(xì)設(shè)計(jì)及運(yùn)行5四 設(shè)計(jì)總結(jié)13五 謝辭14六 參考文獻(xiàn)14一 前言1.1程序概述研究目的以及預(yù)期結(jié)果:利用vb.net中的timer控件實(shí)現(xiàn)window

3、s定時(shí)自動(dòng)關(guān)機(jī)、重啟和注銷功能。可計(jì)劃在預(yù)定時(shí)間關(guān)機(jī),重啟,注銷;實(shí)現(xiàn)多重自定義功能。1.2系統(tǒng)相關(guān)原理visual basic.net(以下簡(jiǎn)稱vb.net)概述微軟公司發(fā)布的vb.net是在visual basic 6.0(以下簡(jiǎn)稱vb6.0)基礎(chǔ)上的一次重大飛躍。vb.net是針對(duì)microsoft.net框架,對(duì)visual basic進(jìn)行重塑之后的結(jié)果。vb.net比vb6.0更易用,功能更強(qiáng)大。vb.net中加入了過(guò)去只有c+語(yǔ)言才能實(shí)現(xiàn)的某些系統(tǒng)資源的訪問能力,最重要的是vb.net完全支持面向?qū)ο蠹夹g(shù)(oop)。vb.net中的timer控件簡(jiǎn)介timer控件可以被稱作為計(jì)時(shí)器

4、控件或時(shí)鐘控件,它的作用是按照標(biāo)準(zhǔn)時(shí)間間隔引發(fā)計(jì)時(shí)器事件。計(jì)時(shí)器控件在工具箱中的圖標(biāo)如下圖所示。計(jì)時(shí)器控件計(jì)時(shí)器控件的常用屬性有:1) enabled。設(shè)置計(jì)時(shí)器控件是否可用,可選值為true或false2) interval。設(shè)置時(shí)間間隔值。interval的值介于1-65535之間,每單位為1ms計(jì)時(shí)器只有一個(gè)tick事件,若啟用timer控件,則每個(gè)interval間隔就會(huì)引發(fā)一次tick事件。注意:timer控件在程序運(yùn)行時(shí)是永遠(yuǎn)不可見的。二 程序總體設(shè)計(jì)2.1基本簡(jiǎn)介利用vb.net中的timer控件實(shí)現(xiàn)windows定時(shí)自動(dòng)關(guān)機(jī)、重啟和注銷功能??捎?jì)劃在預(yù)定時(shí)間關(guān)機(jī),重啟,注銷;實(shí)

5、現(xiàn)多重自定義功能。2.2運(yùn)行環(huán)境與系統(tǒng)結(jié)構(gòu)本程序系統(tǒng)界面簡(jiǎn)潔清爽大方,用戶操作簡(jiǎn)單,占用資源極少,故只要系統(tǒng)能流暢運(yùn)行windows操作系統(tǒng)便可支持本軟件。2.3程序應(yīng)該具備的基本功能windows系統(tǒng)關(guān)閉計(jì)算機(jī)、重新啟動(dòng)及注銷功能并能定時(shí)或倒計(jì)時(shí)執(zhí)行該動(dòng)作。三 程序詳細(xì)設(shè)計(jì)及運(yùn)行設(shè)計(jì)界面如下圖所示主要控件及其屬性,如下表所示控件名稱屬性屬性值command1text執(zhí)行command2text預(yù)設(shè)command3text取消command4text重置check1text倒計(jì)時(shí)執(zhí)行操作check2text定時(shí)執(zhí)行操作check3text定時(shí)報(bào)警combo1sortedtruetabstopf

6、alseframe1modifierspubliclabel1text希望計(jì)算機(jī)如何操作label2text結(jié)束會(huì)話,關(guān)閉windows,以便安全關(guān)閉電源。label3_0text小時(shí)label3_1text分鐘label3_2text秒label4text預(yù)設(shè)方法設(shè)置:程序總體結(jié)構(gòu)如下圖所示程序初始化選擇動(dòng)作注銷重新啟動(dòng)關(guān)機(jī)馬上執(zhí)行設(shè)定時(shí)間選擇模式定時(shí)執(zhí)行倒計(jì)時(shí)執(zhí)行定時(shí)報(bào)警程序運(yùn)行基本模式圖解圖3程序運(yùn)行初始界面此時(shí)label2內(nèi)容為空代碼為:private sub form1_load(byval eventsender as system.object, byval eventargs

7、as system.eventargs) handles mybase.loadframe1.visible = false 隱藏frame1,時(shí)間模式設(shè)置界面label2.text = label2內(nèi)容為空,選擇combo1選項(xiàng)后再顯示combo1.items.add(關(guān)機(jī))combo1.items.add(重新啟動(dòng))combo1.items.add(注銷) 動(dòng)態(tài)添加combo1選項(xiàng)counter = 0timer1.enabled = falseend sub程序運(yùn)行后首先看到的是初始界面,此時(shí)frame1以及其中的內(nèi)容都被隱藏,下拉框(combobox)控件有了選項(xiàng)但沒有選擇其中的任何一

8、個(gè),所以相應(yīng)的label2顯示為空,點(diǎn)擊下拉箭頭后顯示的界面如下圖所示通過(guò)選擇combobox中的選項(xiàng)執(zhí)行關(guān)機(jī)、重新啟動(dòng)或者注銷操作,選擇后如圖4所示圖4各個(gè)動(dòng)作界面(注意label2的變化) 實(shí)現(xiàn)方法代碼:private sub combo1_selectedindexchanged(byval eventsender as system.object, byval eventargs as system.eventargs) handles combo1.selectedindexchangedcombo1.backcolor = system.drawing.colortranslato

9、r.fromole(&h800000)combo1.forecolor = system.drawing.colortranslator.fromole(&hffffff)select case combo1.selectedindexcase 0label2.text = 結(jié)束會(huì)話,關(guān)閉windows,以便安全關(guān)閉電源。case 1label2.text = 結(jié)束會(huì)話,關(guān)閉windows,然后重新啟動(dòng)。case 2label2.text = 結(jié)束會(huì)話,用戶重新登陸。end selectend sub此時(shí)單擊“執(zhí)行”按鈕就可以立即執(zhí)行關(guān)機(jī)、重新啟動(dòng)或注銷操作單擊“預(yù)設(shè)”按鈕進(jìn)入“預(yù)設(shè)方法設(shè)置”

10、界面,如下圖所示(以關(guān)機(jī)操作為例)若不選擇動(dòng)作直接單擊“預(yù)設(shè)”按鈕則會(huì)彈出msgbox提示選擇操作類型,如下圖所示“預(yù)設(shè)”按鈕以上方法實(shí)現(xiàn)代碼:private sub command2_click(byval eventsender as system.object, byval eventargs as system.eventargs) handles command2.click dim str_renamed as stringif combo1.text = thenstr_renamed = cstr(msgbox(請(qǐng)選擇操作類型!, 0, 錯(cuò)誤)exit subend iffra

11、me1.visible = truecommand2.enabled = falseend sub選中“倒計(jì)時(shí)操作”,設(shè)定好時(shí)間后的界面如下圖所示此時(shí)點(diǎn)擊“執(zhí)行”按鈕,windows將會(huì)在4小時(shí)3分鐘2秒后退出系統(tǒng)并關(guān)閉計(jì)算機(jī)。若選中“定時(shí)執(zhí)行操作”,label3_0的text屬性值變?yōu)椤包c(diǎn)”,如下圖所示此時(shí)點(diǎn)擊“執(zhí)行”按鈕,windows將會(huì)在系統(tǒng)時(shí)間的4點(diǎn)3分2秒退出系統(tǒng)并關(guān)閉計(jì)算機(jī)。由于設(shè)計(jì)上的失誤,“倒計(jì)時(shí)執(zhí)行操作”和“定時(shí)執(zhí)行操作”只能選中一個(gè)!在選擇定時(shí)或倒計(jì)時(shí)兩種操作時(shí)若同時(shí)選中“定時(shí)報(bào)警”,在還有5分鐘就執(zhí)行操作時(shí)會(huì)彈出msgbox提示是否繼續(xù)操作,屆時(shí)根據(jù)自己意愿繼續(xù)選擇操作

12、即可。實(shí)現(xiàn)方法代碼為:if check3.checkstate = 1 thenif n 300 thenif n - counter = 300 thenrtn = setwindowpos(me.handle.toint32, -1, 0, 0, 0, 0, 3)ch = cstr(msgbox(還有分鐘就要關(guān)機(jī),是否繼續(xù)執(zhí)行?, 48 + msgboxstyle.yesno, 提醒)if ch = cstr(msgboxresult.no) thentimer1.enabled = falsertn = setwindowpos(me.handle.toint32, -2, 0, 0,

13、0, 0, 3)counter = 0exit subelsemsgbox(請(qǐng)做好數(shù)據(jù)保存,就要關(guān)機(jī)了!, 48, 提醒)end ifend ifend ifend if附:程序中timer控件的實(shí)現(xiàn)方法代碼:private sub timer1_tick(byval eventsender as system.object, byval eventargs as system.eventargs) handles timer1.tickcounter = counter + 1if check1.checkstate = 1 thenif cdbl(text1.text) 0 and tex

14、t2.text = 60 thentext1.text = cstr(cdbl(text1.text) - cdbl(1)end ifif cdbl(text2.text) 0 and text3.text = 60 thentext2.text = cstr(cdbl(text2.text) - cdbl(1)end ifif cdbl(text3.text) 0 thentext3.text = cstr(cdbl(text3.text) - cdbl(1)end ifif text2.text = 0 and text1.text 0 thentext2.text = 60end ifi

15、f text3.text = 0 and text2.text 0 thentext3.text = 60end ifend ifdim ch as stringdim rtn as objectif check3.checkstate = 1 thenif n 300 thenif n - counter = 300 thenrtn = setwindowpos(me.handle.toint32, -1, 0, 0, 0, 0, 3)ch = cstr(msgbox(還有分鐘就要關(guān)機(jī),是否繼續(xù)執(zhí)行?, 48 + msgboxstyle.yesno, 提醒)if ch = cstr(msgb

16、oxresult.no) thentimer1.enabled = falsertn = setwindowpos(me.handle.toint32, -2, 0, 0, 0, 0, 3)counter = 0exit subelsemsgbox(請(qǐng)做好數(shù)據(jù)保存,就要關(guān)機(jī)了!, 48, 提醒)end ifend ifend ifend ifif (n - counter) = 0 thenselect case combo1.selectedindexcase 0shutdown1()case 1reboot1()case 2logoff1()end selectend ifend sub四

17、 設(shè)計(jì)總結(jié)在設(shè)計(jì)的過(guò)程中遇到了許多問題,為了解決問題查閱了很多資料,并及時(shí)向老師請(qǐng)教,與同學(xué)探討,設(shè)計(jì)中還發(fā)現(xiàn)了以前被自己忽略的細(xì)節(jié)問題。進(jìn)行設(shè)計(jì)的時(shí)候,應(yīng)該會(huì)分析問題,并且編程時(shí)要有一定的技巧,要靈活的去設(shè)計(jì)界面,以及一些控件的屬性的用法。在本程序的開發(fā)過(guò)程中,由于時(shí)間的倉(cāng)促和知識(shí)經(jīng)驗(yàn)有限,做的程序不是太完整,有一些地方或許有些缺陷有待于進(jìn)一步的完善,并且可能不能完全滿足用戶的需求。盡管本程序存在著很多不足,但其仍具有功能全面、界面美觀、程序運(yùn)行速度快、系統(tǒng)穩(wěn)定、操作方便、效率高、安全性好等優(yōu)點(diǎn)。通過(guò)崔老師帶領(lǐng)我們進(jìn)行的為期兩周的課程設(shè)計(jì),我明白了許多道理,做任何事情之前都要有個(gè)總體規(guī)劃,不

18、能盲目的想當(dāng)然去做,那樣只會(huì)浪費(fèi)時(shí)間與精力,并且收獲也很少。做的過(guò)程中也要不斷總結(jié)與改進(jìn),更要注重同學(xué)間的相互學(xué)習(xí)與配合才會(huì)有更大的收獲,否則進(jìn)步很少。,我了解到了做為一名將來(lái)的軟件工程師,應(yīng)該具有嚴(yán)密謹(jǐn)慎,刻苦耐勞的精神。我了解到了,當(dāng)你全身心的投入到軟件編程中時(shí),你就能夠成為真正的程序員,擁有無(wú)限靈感的編程師。我深刻的了解到了,其實(shí)每個(gè)人都很有天賦的,只是這些天賦需要你在努力中去發(fā)現(xiàn)去運(yùn)用。沒有付出是絕對(duì)沒有收獲的,一個(gè)非常簡(jiǎn)單的道理,在畢業(yè)設(shè)計(jì)中更是非常明顯,在需求分析中遇到的困難不是太多,而在后期的編碼與實(shí)現(xiàn)由于自己的專業(yè)知識(shí)掌握的不夠扎實(shí),遇到一些問題,通過(guò)查閱書籍詢問老師和其他同學(xué)一一解決掉。伴隨著課程設(shè)計(jì)的完成,??破陂g的學(xué)習(xí)就這樣完成了一半,感覺自己學(xué)的東西實(shí)在太少太少,掌握的更是少??墒俏也⒉贿z憾,畢竟自己對(duì)這些語(yǔ)言有了一個(gè)初步的了解,俗話說(shuō)“萬(wàn)事開頭難”

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論