- - PR -
異なるプロジェクト内のフォームに値を渡すには
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-14 01:30
1つのソリューション内に
aプロジェクト(a.dll)とbプロジェクト(b.dll)があります。 aのフォームから、bのフォームに値を渡すには どのようにすればよいのでしょうか? また、bからaのフォーム名を取得できるのでしょうか? 基本的な事柄かもしれませんが、 よろしくお願いいたします。 | ||||
|
投稿日時: 2004-04-14 01:39
同じプロジェクト内でやるのは問題ないってことですか?(もっと根本的なところで分からないわけではないんですよねという意味) 基本的にプロジェクトが変わっても本質的には何も変わらないはずだと思うんですが。 「値の渡し方」がわからないって言う事は、別のプロジェクトのフォームを表示したりってことは出来てるんですよね(=名前空間が違ってインスタンスをNewできないとか、参照をしてなくて使えないとかじゃないですよね)? あとは、例えば値のやり取りとかでプロパティを使おうとしていて、それがinternal(VBだとFriendだっけか)になっててアクセスできないとか? 具体的にどういう方法でやろうとして、どこで詰まってるんでしょうか? > bからaのフォーム名を取得できるのでしょうか? フォーム名を取得できるっていうのは具体的にどういう意味でしょう? 何となく、「別プロジェクト」かどうかとは関係ない話のような気がしてきました… | ||||
|
投稿日時: 2004-04-14 02:15
異なるアセンブリのやりとりですね? その前に.NETの話ですか? .NETのなら、複雑なことは考える必要ありません。 コンパイラに物理ファイルのあり場所を教えてやればOKです。 あとは、 名前空間.クラス名 変数 = new 名前空間.クラス名() のように「普通」につかえます。 VS.NETなら、参照設定。コマンドラインなら /r です。 同じソリューションなら、ファイルの場所はコンパイラが既にしっているので 何もしなくてもできるはずですが。。。 もし、フォーム間のやりとりが分からなければ。。。。 もっと具体的にいってください。 _________________ | ||||
|
投稿日時: 2004-04-14 08:33
VB.NETだと、プロジェクトごとに別の名前空間がつけられるので、アクセスできないでいるとか?
ただ、A.dllとB.dllということなので、循環参照しないようにだけ、気をつけなければなりません。 | ||||
|
投稿日時: 2004-04-14 18:39
お世話になります。
他プロジェクトのフォームの表示することは、 できています。 呼び出し側フォームから、 他プロジェクトのフォームにファイル名を渡して、 呼び出された側のフォームで そのファイル名を使って表示したいのです。 下記にソースを記載しますので、 よろしくお願いいたします。 '呼び出し元のフォーム--------------------------------------------- 'プロジェクト名=test Public Class frmA 'ファイルのパス Public Const strFileNm As String = "C:\test_help.html" Private Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click Dim frmHelp As New CommonLibrary.frmB frmHelp.Show() frmHelp = Nothing End Sub End Class '------------------------------------------------- '呼び出すフォーム---------------------------------- 'プロジェクト名=CommonLibrary Public Class frmB Inherits System.Windows.Forms.Form Public strFileNm As String Private Sub frmB_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load With AxWebBrowser1 .Navigate(strFileNm) '指定されたファイルを表示 '***このstrFileNmに呼び出し元から渡された値を入れたい*** End With End Sub End Class '----------------------------------------------------------- | ||||
|
投稿日時: 2004-04-14 18:59
frmBにSetFileName(string)のようなメソッドを作って、それを呼んでからShow()するというのはどうでしょう。
| ||||
|
投稿日時: 2004-04-14 19:41
一郎様の方法で、できました!
ありがとうございました!! ところで、呼び出されたフォームから 呼び出したフォームのフォームID (例えば、「frmTest.vb」なら「frmTest」)を 取得することは可能でしょうか。 |
1