現(xiàn)在多是在form_load里驗(yàn)證的,你打開(kāi)第二次也只是暫時(shí)的,后面讓他關(guān)閉就行了. form_load之前windows form就已經(jīng)生成... 把你程序讀入內(nèi)存就算這個(gè)程序已經(jīng)被打開(kāi)開(kāi)始執(zhí)行了...不管你放那里都是會(huì)打開(kāi)第二次的... 要讓他結(jié)束直接用Application.Exit()就行了.
10年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站設(shè)計(jì),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站設(shè)計(jì),高端網(wǎng)頁(yè)制作,對(duì)活動(dòng)板房等多個(gè)領(lǐng)域,擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn)。
VB2008里的設(shè)置:
項(xiàng)目屬性-應(yīng)用程序-生成單個(gè)實(shí)例應(yīng)用程序
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
If?UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName))??0?Then
MessageBox.Show("程序已經(jīng)運(yùn)行了")
End
End?If
End?Sub
首先這個(gè)要看的子函數(shù)執(zhí)行的情況了,比如你子函數(shù)要8秒才能執(zhí)行完成,你1秒鐘執(zhí)行一次,到時(shí)會(huì)有好幾個(gè)子函數(shù)在運(yùn)行,肯定會(huì)影響程序運(yùn)行的。你要調(diào)整時(shí)間才能讓子函數(shù)不影響主程序;
再一個(gè),如果不想影響主程序,你可以再建一個(gè)程序,專門(mén)用來(lái)執(zhí)行子函數(shù),然后讓那個(gè)程序用定時(shí)器每秒執(zhí)行一次子函數(shù),這樣就不會(huì)影響主程序;