0

私は.NETプログラミングの初心者です。

Button1_Clickイベントを含むクラスForm1があります。(Button1_Clickは、実行時に複数のテキストボックスを作成します)

クラスは次のとおりです。

Public Class Form1

    Dim shiftDown As Integer

    Dim counter As Integer


  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles MyBase.Load
   End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim textbox1 As New TextBox

       counter += 1

       shiftDown = shiftDown + 30

       textbox1.Name = "Textbox" + counter.ToString()
       textbox1.Size = New Size(170, 10)
       textbox1.Location = New Point(10, 32 + shiftDown)
       textbox1.Visible = True

       GroupBox1.Controls.Add(textbox1)

End Sub

エンドクラス

現在、この行:

Dim shiftDown As Integer

整数としての薄暗いカウンター

グローバル変数として定義されます。

私の質問は、これらの変数をプロパティとして定義するか、Button1_Clickイベントの静的ローカル変数として定義する必要があるかということです。

4

3 に答える 3

3

Windowsフォームアプリケーション(私はあなたがそうだと思います)を構築している場合は、Dimの代わりにProtectedを使用してみてください。

Protected shiftDown As Integer
Protected counter As Integer

これにより、変数がグローバルではなくローカルクラス変数に変わります。

于 2012-06-09T19:36:06.077 に答える
3

プロパティではなく変数を使用します。現在のように、クラスForm1でグローバルに定義するか、Button1_clickで静的変数として定義すると、どちらも正常に機能します。それは個人的な好みの問題です。

これらの変数は、Form1クラスの他のサブ変数からアクセスできることを理解した上で、そのままにしておくとよいでしょう。Button1_click内で静的にすることもできますが、変数を明示的に初期化する場合は注意が必要です。

于 2012-06-10T02:20:06.127 に答える
2

.NETアプリケーションの設計方法を本当に学びたい場合は、Jason Dollingerのビデオをご覧になることをお勧めします。このビデオは、Lab49アーカイブから入手できます。

それは本当に素晴らしく、適切なWPF / MVVM/.NETアプリケーションを構築する必要があるときに遭遇する関連する問題のほとんどをカバーしています

于 2012-06-09T19:43:12.507 に答える