- PR -

vb.net windows applicationについて

投稿者投稿内容
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-02-15 11:36
Builderデザインパターン

オブジェクト指向言語を扱うなら、デザインパターンくらいかじっておいた方が良い。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-02-15 11:40
引用:

フォームのデザインとその中のプログラムは作成してあります。
開くフォームをプログラムでランダムに指定したいだけなのです。



では、System.Random クラスと if を組み合わせるだけではないですか?
何もリフレクションやら、遅延バインディングなどを使う必要もないですよね?
_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
にっしー
常連さん
会議室デビュー日: 2004/08/02
投稿数: 21
投稿日時: 2005-02-15 12:01
回答ありがとうございます。

多分、記述の仕方が悪いと思います。
申し訳ありませんでした。

再度説明させて頂きます。

あるメニューがあります。
そのメニューにはボタンが3つあります。
一番目のボタンを押すとA(frmformA.vb)というフォームが開かれます。
ニ番目のボタンを押すとB(frmformB.vb)というフォームが開かれます。
三番目のボタンを押すとC(frmformC.vb)というフォームが開かれます。
という前提ならなんの問題もありません。

Aボタンが押されたイベントで
Dim frm as frmformA
frm.show()

Bボタンが押されたイベントで
Dim frm as frmformB
frm.show()

Cボタンが押されたイベントで
Dim frm as frmformC
frm.show()

このように固定で決めたなら問題はないのですが
Aのボタンを押すとfrmformCだったりfrmformBの場合があります。
条件は同じプロジェクト内にいるフォームのファイルIDです。
(Aボタンで受け取れる情報として
ファイル名"frmformB.vb"を元にフォームを開きたいのです。)

後はこのfrmformA、frmformB、frmformCのフォームは
同じプロジェクト内にいるフォームです。

これまで回答してくださった方、大変ありがとうございました。
上記の内容でお解かりの方がいらっしゃいましたら
申し訳ありませんが宜しくお願い致します。
にっしー
常連さん
会議室デビュー日: 2004/08/02
投稿数: 21
投稿日時: 2005-02-15 12:06
早々の回答ありがとうございます。

その内容でも出来なくはないのですが
フォームの数が40ぐらいありますので
それを全て分岐で作成するのはつらいかなーって思っています。
増えた場合も考慮しないとならないのも問題です。

ファイルIDの情報はDBにありまして
それを元に直接フォームを開ければと思っています。

宜しくお願い致します。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-02-15 12:08
コード:
sFormName = "frmformA.vb"  '読み込んでね
If sFormName = "frmformA.vb" Then
    Dim oFrmformA As New frmformA
    oFrmformA.Show()
ElseIf sFormName = "frmformB.vb" Then
    Dim oFrmformB As New frmformB
    oFrmformB.Show()
...


極端かもしれないけど、こんな感じではだめなのでしょうか?
だめなら、なぜだめなのか書いていただけるといいかも。

いろいろと手はあります。
でも、いったんは動作をさせてみてください。
それからいろんな技法で、いろいろといじりましょう。

よいコードのため、必要以上に複雑化させず、目的を簡潔に。

_________________
たつごろー
codeseek
こみゅぷらす
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-02-15 12:13
引用:

フォームの数が40ぐらいありますので
それを全て分岐で作成するのはつらいかなーって思っています。


私は、すべて分岐で作るというのも、選択肢の一つとしてもかまわないと思います。

引用:

増えた場合も考慮しないとならないのも問題です。


増える可能性があるということと、動的に変更が可能であるようにするということは、別の問題です。動的に変更が可能であるように作らなければならないのではない限り、静的にしたほうがよい場合が多いです。

引用:

ファイルIDの情報はDBにありまして
それを元に直接フォームを開ければと思っています。


このデータは、動的にFormをロードする目的のために作ったのですか?
それとも、ほかの事情があるのでしょうか。

_________________
たつごろー
codeseek
こみゅぷらす
にっしー
常連さん
会議室デビュー日: 2004/08/02
投稿数: 21
投稿日時: 2005-02-15 12:29
人によってメニュ−の構成を変更したいのです。
そのために同じボタンの場所を押した時に
ログイン者によって遷移する画面を変えたいということなのです。

たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-02-15 13:23
過去に検索キーが提示されてましたが、試してみましたか?

ほかの掲示板ですが
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=25040
にある情報ではだめですか?

引用:

にっしーさんの書き込み (2005-02-15 12:29) より:
人によってメニュ−の構成を変更したいのです。
そのために同じボタンの場所を押した時に
ログイン者によって遷移する画面を変えたいということなのです。


この要件について
引用:

データベースからファイルIDを
取得するような形で
ランダムにフォームを開くこと


この解決案ですね。
早く書いていただければよかったかも。

すでに書きましたが、この方法はやはりお勧めできません。

_________________
たつごろー
codeseek
こみゅぷらす

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