私のフォームには2つのテキストボックスがあります。テキストボックス1とテキストボックス2です。テキストボックス1には情報が入ります。ボタンでテキストボックス1を読み込んで文字列にするか、アプリがテキストボックスを読み込んで情報をメモリに保存する方法をコード化したいと思います。
そして、その文字列をアプリケーションの2番目の部分に読み込めるようにしたいのです。
どこまでやっていいのかわかりません。どうすればいいのでしょうか?
ストリームリーダーを使ってテキストボックスを文字列に読み込み、ストリームライターを使ってデータを文字列に書き込む。
テキストボックスを.txtファイルに保存し、openfiledialogを使ってテキストファイルを文字列に読み込んで使用する?
何かお役に立てることがありましたら、ぜひ教えてください。
Access VBAのような古いVB方言では、デフォルトのプロパティという概念があり、このような書き方をすると自動的にアクセスされます。
s = Me!txtMyTextBox
裏ではVBAが自動的にこんなことをしていました。
s = Me!txtMyTextBox.Value
VB.NETでは、Dim t = Textbox1
と記述すると、t
はTextBox
と型付けされ、テキストボックスへの参照が含まれます。テキストボックスからテキストを取得するには、その Text
プロパティに明示的にアクセスします。
Dim s as String
s = Textbox1.Text;
この文字列を後でどこで使用するかは、あなた次第です。文字列をフォームの外で使いたい場合、2つの可能性があります。フォームに文字列をエクスポートさせるか、フォームから外部に文字列を取得するかです。
モジュール (ここでは MyModule とします) で、パブリックな文字列を定義します。
Public TheText as String
フォームに
MyModule.TheText = Textbox1.Text;
このテキストは、アプリケーション全体でグローバルに利用できるようになりました。
フォームの中で、Textboxのテキストをプロパティで囲みます。
Public ReadOnly Property TheText() As String
Get
Return Textbox1.Text
End Get
End Property
どこか他の場所で、そのフォームがメインフォームで、frmMain
と呼ばれていると仮定します。
Console.WriteLine(DirectCast(Application.OpenForms(0), frmMain).TheText)
あるいは、フォーム変数が自分の特定のフォームとして強くタイプされている場合、例えば Dim frm As frmMain
(単に Form
としてではなく)。
Console.WriteLine(frm.TheText)