分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計(jì) 其他編程語言
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比夷陵網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式夷陵網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋夷陵地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
問題描述:
我用的是Timer計(jì)時(shí)器:
如何將程序控制住,讓它第一次發(fā)現(xiàn)沒保存后,只擊活一次提示保存,然后使用修改后的保存路徑:(代碼如下)
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'如何將程序控制住,讓它第一次發(fā)現(xiàn)沒保存后,只擊活一次提示保存,然后使用修改后的保存路徑
If SaveFileDialog1.FileName = "" Then
If SaveFileDialog1.ShowDialog Then
rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
End If
Else
'如果已經(jīng)選擇了要保存的文件名,則保存文本到文件中
rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
End If
End Sub
————————————————————
此代碼執(zhí)行后變成死循環(huán)。
解析:
經(jīng)過我的潛心修煉問題終于是解決了.請(qǐng)看代碼
Imports System.IO
Private strFileName As String = "myRTFdoc.txt"
Private flgFirst As Boolean = True
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
'如何將程序控制住,讓它第一次發(fā)現(xiàn)沒保存后,只擊活一次提示保存,然后使用修改后的保存路徑
Call zc()
End Sub
Private Sub zc()
'Timer2.Stop()
With SaveFileDialog1
.DefaultExt = "txt"
.FileName = strFileName
.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*"
.FilterIndex = 1
.InitialDirectory = "c:\"
.OverwritePrompt = True
.Title = "Save Reminding"
End With
'Timer2.Enabled = False
If flgFirst = True Then
If SaveFileDialog1.ShowDialog = DialogResult.OK Then
strFileName = SaveFileDialog1.FileName
Dim objWriter As StreamWriter = New StreamWriter(strFileName, False)
objWriter.Write(rtbox.Text)
objWriter.Close()
objWriter = Nothing
End If
flgFirst = False
'Timer2.Enabled = True
' Timer2.Start()
Else
'flg= second
Dim objWriter As StreamWriter = New StreamWriter(strFileName, False)
objWriter.Write(rtbox.Text)
objWriter.Close()
objWriter = Nothing
End If
'Timer2.Enabled = True
'Timer2.Start()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer2.Enabled = True
' zc()
End Sub
知道問題在哪里嘛?我調(diào)試了確實(shí)是"死循環(huán)"、其實(shí)不是真正的死循環(huán)、是time tick事件你設(shè)定的時(shí)間太短了.估計(jì)只設(shè)置了1-5s左右.那么程序運(yùn)行還需要時(shí)間.所以他就不停地調(diào)用timetick時(shí)間.你的savedialog對(duì)話框根本來不急彈出來.
所以建議你把timer的interval的值設(shè)置高點(diǎn)最好12-15秒 觸發(fā)一次.
當(dāng)然我想還有其他的方法、還沒有徹底取研究下.
比如stop 什么 、那還需要時(shí)間.
至少目前我的方法是可以了.
我設(shè)置的12s P4. 3.0 1G 內(nèi)存 跑下我的程序如果 F10(F8)慢點(diǎn)的話就來不及了.
另為把你的程序小改了下、應(yīng)該可以滿足你的要求了.
分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計(jì) 其他編程語言
問題描述:
一個(gè) vb 程序中,想在程序關(guān)閉的時(shí)候保存一些變量,在下次打開的時(shí)候可以繼續(xù)使用,請(qǐng)問應(yīng)該怎么做?vb 中是否有現(xiàn)成的和函數(shù)可用?
解析:
有,使用app.config或自定義xml文件或讀寫注冊(cè)表或用數(shù)據(jù)庫,看MSDN
1、首先,點(diǎn)擊保存按鈕后應(yīng)檢查文本框內(nèi)容。
2其次,如果在文本框4中輸入的值以400開頭則保存反之更改為400。
3、最后,再次檢查文本框5如果文本框5中的值為29或31則保存反之則更改即可。