DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ひとつのデータを複数のフォームで使用する方法

分類:[.NET]

こんにちは、前回はレスをいただいてありがとうございました。
また、疑問にぶつかってしまったのでぜひご教授ください。

フォーム1で入力されたデータをフォーム2とフォーム3でも、使いたいのですが、こちらの『別のフォームのデータを取得、設定する』というTipsを使ってみたのですが、フォーム2まではデータは取得できるのですが、フォーム3では
取得できませんでした。
アドバイスをお願いします。
ソースはこれです。↓

フォーム1のソース
Public Class Form1
Inherits System.Windows.Forms.Form
Private textbox As String

Public Property TextBoxValue() As String

Get
Return TextBox1.Text
End Get

Set(ByVal Value As String)
TextBox1.Text = value
End Set
End Property
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f2 As New Form2(Me)
     f2.Show()
End Sub


フォーム2のソース
Public Class Form2
Inherits System.Windows.Forms.Form
Public Sub New(ByVal f1 As Form1)
MyBase.New()
InitializeComponent()

_form1Object = f1
End Sub

Private _form1Object As Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As String = _form1Object.TextBoxValue

MessageBox.Show(s)

End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim f3 As New Form3()

f3.ShowDialog()

End Sub
End Class


フォーム3のソース
Public Class Form3
Inherits System.Windows.Forms.Form

Public Sub New(ByVal f1 As Form1)
MyBase.New()

InitializeComponent()

_form1Object = f1
End Sub


Private _form1Object As Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As String = _form1Object.TextBoxValue

MessageBox.Show(s)
End Sub
End Class
> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
> Dim f3 As New Form3()
この部分で、
Dim f3 As New Form3(_form1Object)
のように引数に渡していないからでは?

>
> f3.ShowDialog()
>
> End Sub
> End Class
よねKENさんの言うとおりにしましたら、無事に解決できました。
引数が設定されてなかったんですね。
思いつきませんでした。
本当にありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板