VB.NET如何将文本框读入字符串并将字符串用于其他内容?

Chr*_*ous 1 vb.net

我的表单上有两个文本框.Textbox1和Textbox2.Textbox1将包含信息.我想编写我的按钮来读取文本框1并将其放入字符串或某种方式让应用程序读取文本框并将信息存储到其内存中.

然后我希望能够将该字符串读入我的应用程序的第二部分.

不知道该怎么做.我是不是该:

  1. 使用streamreader将文本框读入字符串,然后使用streamwriter将数据写入字符串?

  2. 将文本框保存为.txt文件然后使用openfiledialog将文本文件读入要使用的字符串?

任何帮助人员将不胜感激.

Oli*_*bes 7

在较旧的VB方言中,如Access VBA,有一个默认属性的概念,当你写这样的东西时会自动访问:

s = Me!txtMyTextBox
Run Code Online (Sandbox Code Playgroud)

在幕后VBA自动做了这样的事情:

s = Me!txtMyTextBox.Value
Run Code Online (Sandbox Code Playgroud)

在VB.NET中,如果你编写,Dim t = Textbox1那么t将输入TextBox并包含对文本框的引用.要从文本框中检索文本,请Text显式访问其属性:

Dim s as String
s = Textbox1.Text;
Run Code Online (Sandbox Code Playgroud)

这取决于您以后要在何处使用该字符串.如果您想在表单之外使用它,您有两种可能性:让表单导出字符串或从外部获取表单中的字符串.

1导出文本

在模块中(我们称之为MyModule)定义一个公共字符串:

Public TheText as String
Run Code Online (Sandbox Code Playgroud)

形式如下:

MyModule.TheText = Textbox1.Text;
Run Code Online (Sandbox Code Playgroud)

该文本现在可在您的整个应用程序中全局使用.


2从外面获取它

在表单中,将Textbox文本包装在属性中:

Public ReadOnly Property TheText() As String
    Get
        Return Textbox1.Text
    End Get
End Property
Run Code Online (Sandbox Code Playgroud)

在其他地方,假设表单是您的主要表单并被称为frmMain:

Console.WriteLine(DirectCast(Application.OpenForms(0), frmMain).TheText)
Run Code Online (Sandbox Code Playgroud)

或者,如果您有一个强类型的表单变量作为您的特定表单,例如Dim frm As frmMain(而不仅仅是Form):

Console.WriteLine(frm.TheText)
Run Code Online (Sandbox Code Playgroud)