- - PR -
プロジェクト間のジャンプについて
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-11-08 14:20
VB2005でform→form2に飛びたいときはボタンのクリックイベントなどで
Form2.Show()と書くだけですが、同じソリューション内に別のプロジェクトを作り そのformに飛びたいときはどうすればいいんでしょうか? | ||||||||||||||||
|
投稿日時: 2007-11-08 14:44
別アセンブリであってもコードは変わりません。 別アセンブリなので参照設定に加えることと、名前空間に気を付ける程度の違いでしかないです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2007-11-08 14:46
>同じソリューション内に別のプロジェクトを作り
別のプロジェクトとはDLL/EXEどちらですか? EXEなら無理 DLLならそのフォームを公開し、使いたいプロジェクトの参照設定に作成したDLLを追加する。 | ||||||||||||||||
|
投稿日時: 2007-11-08 14:51
無理ではないです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2007-11-08 15:32
じゃんねっとさんごめんなさい。
名前空間の参照に気を付けるとはプロジェクトの myProject内の参照設定をチェックを追加するということですよね。 呼ばれるプロジェクト、呼ぶプロジェクトどちらを追加するのですか? 呼ぶプロジェクトに追加し、StratForm.Form1.とコードしたのですが SHowがでできません。 StratForm.Form1.ActiveForm.Show()とはできたのですが 実際動作しません。 | ||||||||||||||||
|
投稿日時: 2007-11-08 15:35
> EXEなら無理
VS.NET 2003のときは無理だったと思います。 ただ、IDEが対応していないだけでコンパイラレベルでは可能でした。 VS2005になって対応していると思います。 | ||||||||||||||||
|
投稿日時: 2007-11-08 15:48
「飛ぶ」というのは「form」から「form2」を表示するということでよろしいですね?
呼び出す側に呼ばれる側のプロジェクト参照を追加します。 あと、インスタンスの自動生成(って言うのかな?)はされません。 StartForm.Form1のインスタンスを明示的に作成してからの操作になります。 この辺は過去ログなど検索すると分かると思います。 | ||||||||||||||||
|
投稿日時: 2007-11-08 16:06
ぬ 彡 (,,ノ゚д゚)ノ
私は 2 つのことを説明したつもりだったのですが、ハマリーさんの中では混同されて 1 つのことになってしまっているようです。 その証拠に "参照を追加する" と仰っているのに 「名前空間」 のお話になっています。 "チェックを追加する" と仰っていますが、これは 「インポートされた名前空間」 のお話ですよね。 参照設定に CheckBox は見当たりません。 '参照設定に加える' というのは文字通り 「参照設定」 に呼び出したい Form が存在するアセンブリを追加することを示します。 今回はプロジェクト参照ですから [プロジェクト] タブから選択して追加することになるでしょう。
使いたい人が使いたいモノを認識していなければなりません。 そう考えると自明ではないでしょうか? ハマリーさんは道具を扱う時、その道具を認知して使いませんか?
# Strat? ストラット? コードから察するに 「インスタンス」 という概念をお持ちでないような気がします。(こうなってしまうから VB2005 の MyForms は大嫌い なわけですが) さらに参照設定ができていない可能性もあります。 とりあえず名前空間については忘れて頂いて、参照設定の追加をしてください。 参照設定の追加が終わったら、その Show メソッドで呼び出したい Form を名前空間を含めた完全修飾名で インスタンスを生成して、そのインスタンスから Show メソッドを呼び出してください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |