私のコードでは、2つのクラスを使用しています。1つにはUIフォームが含まれ、もう1つにはファイルに書き込むためのメソッドが含まれます。コーディング中に、理解できない動作を見つけました。以下のコードは、関連する部分(私が信じているもの)を示しています。MsgBox
簡単にするために、ファイル書き込み部分はaに置き換えられています。
1つの形式で次のコントロールがあります。
NumericUpDown
Button
次のクラスとメソッドを使用します。
Public Class One
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
Dim t As New Two
t.Show()
End Sub
End Class
Public Class Two
Public Sub Show()
Dim o As New One
MsgBox(o.NumericUpDown.Value)
End Sub
End Class
これで、デフォルトをクリックするButton
とデフォルトNumericUpDown.Value
が表示されます。この値を調整してボタンをもう一度クリックすると、古いデフォルト値が表示され続けます。
次のコードでは、パーツを削除
し、他のクラスを参照するためにDim o as New One
使用しています。One
それで:
Public Class Two
Public Sub Show()
MsgBox(One.NumericUpDown.Value)
End Sub
End Class
これで、すべてが正常に機能します。をクリックするButton
と、デフォルトで
NumericUpDown.Value
表示されます。値を調整し、をクリックするButton
と、調整された値が表示されます。
Dim o as New One
この振る舞いを変える割り当てはどのようになっていますか?
これはvb.netを使用したコーディングの最初の週なので、意味のないことをしているかもしれませんが、私にとってはうまくいきます。実際のコードを入力した唯一の理由Dim o as New One
は、クラスを参照するたびに「One」と入力する必要はなく、「o」と入力するだけでよいということです。どうやらこれは進むべき道ではないようですが、私はその理由を知りたいと思っています。