掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Form間にてテキストボックスの値を操作する方法 (ID:107907)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
nanashiさん、魔界の仮面弁士さんどうもありがとうございました。 おっしゃる通り、以下のコードでは何度もForm_Loadが呼び出されていました。 > Sub Main() > Set Form1 = New Form1 > Form1.GetInstance '独自定義のメソッド > Load Form1 > Form1.Show > End Sub Formのメモリ上の状態についてきちんと把握していなかったためでした。 > Set Form1 = New Form1 自分の考えでは、以下のように理解したのですがどうでしょうか。 暗黙ででフォーム名の付いたオブジェクト(クラス)Aが存在しているにも関わらず、上記の「Set = New」にてフォームのインスタンスBを生成し、これに対してShowをした。 しかし、Form2ではShowされていない暗黙のオブジェクト(クラス)Aに対して以下の処理を行ったため、 > Form1.Text1 = Text1 ← ① まだ、暗黙の宣言しかされていないオブジェクト(クラス)Aが、まさに自動でロードされ、フォームのインスタンスAが生成され、それに対して代入処理がなされた。しかし、インスタンスAはShowされているわけではないため、単なる変数に見える。 ということで、シンプルに '標準モジュール Sub Main() Form1.Show End Sub 'form1 Private Sub Form_Load() '---処理--- End Sub Private Sub Command1_Click() Form2.Show End Sub 'form2 Private Sub Form_Load() '---処理--- End Sub Private Sub Text1_Change() Form1.Text1 = Text1 End Sub と変更しました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.