2016-12-01 78 views
0

我在啓動時聲明默認路徑文件時遇到了一些麻煩。
每次我運行該程序時,都會說pathFile爲空。 有人知道我需要更改我的代碼嗎?OnLoad Sub(Visual Basic)的問題

Imports System 
Imports System.IO 
Imports System.Text 

Public Class GlobalVariables 
    Public Shared pathFile As String 
End Class 

Public Class Form1 
    Protected Overridable Sub OnLoad(e As EventArgs) 
     GlobalVariables.pathFile = My.Computer.FileSystem.SpecialDirectories.Desktop 
    End Sub 

    Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click 
     ' create or overwrite the file 
     Dim fs As FileStream = File.Create(GlobalVariables.pathFile) 

     ' add text to file 
     Dim info As Byte() = New UTF8Encoding(True).GetBytes(rtbText.Text) 
     fs.Write(info, 0, info.Length) 
     fs.Close() 
    End Sub 
End Class 

在此先感謝!
- Xaaf代碼

回答

1

,而不是試圖重寫OnLoad(這將是Overrides代替Overridable),我會處理負載事件:

Private Sub Form_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
    GlobalVariables.pathFile = My.Computer.FileSystem.SpecialDirectories.Desktop 
End Sub 

你很可能只是設置好pathFile聲明價值相反:

Public Class GlobalVariables 
    Public Shared pathFile As String = My.Computer.FileSystem.SpecialDirectories.Desktop 
End Class 
+0

我得到一個錯誤,指出對路徑的訪問被拒絕。 這是'Dim fs作爲FileStream = File.Create(GlobalVariables.pathFile)' –

+0

@XaafCode嗯,這不是真的與你的問題有關,而是['File.Create'](https://msdn.microsoft。 com/en-us/library/d62kzs03(v = vs.110).aspx)「創建或覆蓋指定路徑中的文件」,並且您指定的路徑是您的桌面目錄,它不是文件且已存在,所以拒絕訪問可能是一件好事! :-) – Mark

+0

哦,謝謝!沒有真的在想那個! :d –