tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル親フォームのインスタンスの参照
記事No5394
投稿日: 2007/04/23(Mon) 12:01
投稿者ton
[親フォーム]
Public Class frm親
    Public iShohin as new clsShohin

[子フォーム]
Public Class frm子
    
    Private Sub frm子_Load(〜
        〜frm親のiShohinを参照〜

*************************************************
上記のように親フォームでPublic宣言したクラスのインスタンスを子フォームから参照したいのですが、子フォーム側で処理が行われる際にclsShohinのコンストラクタが行われてしまいます。
3000項目程度のマスタをList(of T)に読み込む作業があるためclsShohinのコンストラクタは親フォームでの一回のみにしたいのですが、どのようにコーディングすればよいのかわからず困っております。

ご存知の方がいらっしゃいましたらぜひご助力ください。
よろしくお願いいたします。

[ツリー表示へ]
タイトルRe: 親フォームのインスタンスの参照
記事No5395
投稿日: 2007/04/23(Mon) 13:17
投稿者魔界の仮面弁士
frm子がfrm親を参照し、子が親の Public iShohin を得る形にしてしまうと、
frm親・frm子・clsShohin それぞれの依存性が強くなりすぎる気がします。

clsShohin (商品データ??)の受け渡しのみが目的なら、frm親側が
frm子のコンストラクタに、iShohin を渡す形を取った方が良いかと。


> 上記のように親フォームでPublic宣言したクラスのインスタンスを
> 子フォームから参照したいのですが、子フォーム側で処理が行われる際に
> clsShohinのコンストラクタが行われてしまいます。
? 意図がわかりません。

もし、clsShohinのコンストラクタが行われない状態を望むのであれば、
iShohin は生成されず、Nothing のままとなってしまいますよね。
Nothing 状態の変数を渡したところで、意味が無いのでは。

それでも、frm子で処理が行われてから clsShohinのコンストラクタが実行されるように
変更したいのであれば、frm親は、As New clsShohin() のように自動生成させるのではなく、
frm子のインスタンスを生成してから、clsShohin のインスタンスを生成するように
修正すれば良いかと思います。

[ツリー表示へ]