我有一个名为student.getPassword();
的子,它有一个名为 tempstr 的字符串。我需要在另一个名为ReadingText
的Sub中调用tempstr
两个Subs属于同一类..
代码如下:
SaveToolStripMenuItem
以上Sub在程序启动时运行,并用{strong> tempstr 替换Private Sub ReadingText(sender As Object, e As EventArgs) Handles Me.Load
Dim arguments As String = Command()
If arguments = String.Empty Then
RichTextBox1.Text += vbCrLf & vbCrLf & vbCrLf
Else
Dim tempstr As String = arguments.Replace("""", "")
Me.Text = tempstr & " - Text"
Dim SR As New System.IO.StreamReader(tempstr)
RichTextBox1.Text = SR.ReadToEnd
Try
SR.Close()
Catch ex As Exception
RichTextBox1.Text += ex.ToString
End Try
End If
End Sub
,这是我在.exe程序中删除的.txt文件的路径,以便读取它的背景..
RichTextBox1.text
当用户点击Save这是ToolStrip中的一个项目时,此Sub运行。此Sub检查tempstr是否存在。如果它存在,则将 Private Sub SaveToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SaveToolStripMenuItem.Click
Dim file As StreamWriter
If My.Computer.FileSystem.FileExists(filePath) Then
file = My.Computer.FileSystem.OpenTextFileWriter(filePath, True)
file.WriteLine(RichTextBox1.Text)
ElseIf (SaveFileDialog1.ShowDialog() = DialogResult.OK)
file = My.Computer.FileSystem.OpenTextFileWriter(SaveFileDialog1.FileName, True)
file.WriteLine(RichTextBox1.Text)
file.Close()
End If
End Sub
保存在tempstr路径中..但它不会' t识别tempstr,因为它位于另一个Sub ..
我该怎么办?
答案 0 :(得分:0)
将tempstr标记为共享的全局资源。
class Test{
...
Shared tempstr as String=String.Empty
...
}
希望这有帮助。
答案 1 :(得分:0)
您必须仔细阅读this thread by MSDN,这是关于变量和方法的范围。在你的情况下,这两个方法都属于同一个类,所以你需要定义(声明)具有全局范围的tempstr
变量到类。如果你不想访问该类的值,那么No需要让它共享,因为共享变量具有应用范围。
Public Class your ClassName
Dim tempstr As String '<- Global declaration
Private Sub ReadingText(sender As Object, e As EventArgs) Handles Me.Load
' Your code
End Sub
Private Sub SaveToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SaveToolStripMenuItem.Click
'Your code
End Sub
End Class