- PR -

親フォームのpublicプロシージャー呼び出し

投稿者投稿内容
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-04-26 10:30
今、Form1とForm2があり、Form1から子フォームとしてForm2を表示しています。

Dim form2 As New pro.Form2
Me.AddOwnedForm(form2)
form2.Show()

そこでForm2のボタンを押下時に、Form1のpublicプロシージャーを呼び出す処理
をしたいのですが、どうしてもできません。
Form2はdllで、Form1から参照しています。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-04-26 10:49
VB.NETでWindowsFormsですよね。

引用:

そこでForm2のボタンを押下時に、Form1のpublicプロシージャーを呼び出す処理
をしたいのですが、どうしてもできません。


いろいろ試したということみたいですから、試したことは書いていただいたほうがいいかもしれません。

Form1の型情報がForm2に伝わっていないから、なのではないかと思うのですが。
_________________
たつごろー
codeseek
こみゅぷらす
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-04-26 11:04
Form2のコンストラクタでForm1を引数に使用と考えたのですが、Form1のプロジェクトはDllではないため、Form2のからは参照できません。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-04-26 11:15
引用:

Form2のコンストラクタでForm1を引数に使用と考えたのですが、Form1のプロジェクトはDllではないため、Form2のからは参照できません。


そのとおりです。

_________________
たつごろー
codeseek
こみゅぷらす
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-04-26 11:21
それは、型を参照することはできないということですか?
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-04-26 11:33
この構造になっているものだと、私には方法はわかりません。
他の方はなにか手を知っているかもしれません。

構造を変えるとうまくいくということは、未記入さんはわかっている、ということですよね。


_________________
たつごろー http://www.codeseek.net

[ メッセージ編集済み 編集者: たつごろー 編集日時 2005-04-26 11:33 ]
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-04-26 11:37
必要なメソッドをインターフェイスに定義し、それをdllにして両方のフォームから参照する。
親フォームにはインターフェイスを実装させ、
子フォームはOwnerをそのインターフェイス型にキャストしてメソッドを呼ぶ。

というのが一般的でしょうかね。
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-04-26 11:41
ありがとうございます。

残念ながら仕様上構造を変えることはできません。プロジェクトの出力がWindowsアプリケーションである以上、それを参照することができないのは非常に残念です。Javaだと簡単に参照できるのに・・。

スキルアップ/キャリアアップ(JOB@IT)