Visual Studioのクラス間で使える変数の設定方法

  • ガイド ( How to )
  • 閲覧数:371
  • ありがとう数:0

はじめに

Photo by ねこネコ猫NEKO
1つのアプリケーション内でForm1,Form2,Form3と作り
Form1のText.Boxに入力された値を変数としてボタンを押すと各Formのラベルに
変数を渡し表示させたい人のためのガイドです。

STEP1まず、VBとななんぞやをおさらいしましょう。

VB6.0 1998年 最後の「VB」。
VB.NET1.0 2002年 最初の「VB.NET」。
ここで大幅に言語仕様というか言語そのものが変わりました。
VB.NET1.1 2003年
VB.NET2.0 2005年


STEP2

・f2っていう変数があって、Form2のインスタンスAを参照していませんか?いますよね?
・f2っていう変数は、Private Sub Button1_clickが終了したら消えませんか?消えますよね?
つまり、インスタンスAを参照する変数が無くなります!(危険です!)

これは、「インスタンスが作成されるのはNewされた時だが、破棄されるタイミングは分からない(決定できない)」という事に起因する問題なのです。

STEP3<改訂版2> Form2のみ

-----Form1------
Public Class Form1
Private f2 As Form2 = Nothing ' クラス変数にする事で、Form1が動いている間は変数が消えない
Private Sub Button1_click(Byval sender As System.Object,Byval e AS System.EventArgs) Handles Button1_click
  If Not f2 Is Nothing Then   ' あれば閉じる
    f2.close        ' 実際使う時はTryで囲むべし
  End If
  f2 = New Form2
  f2.Label1.Text = TextBox1.Text
  f2.Show()
End Sub
End Class

-----Form2-----
Public Class Form2
End Class

まとめ

プログラマー初級者のみなさん、頑張ってください。

関連するタグ

必要なもの

プログラミング環境

特集


感謝指数をマイページで確認!

ピックアップ

ページ先頭へ