VB.NETで画面間でデータを共有するには?


アヒルの卵  2003-07-19 00:53:03  No: 107838

ASP.NETのApplication("・・・")のように、VB.NETにおいて別のフォームで値を共有する方法がわかりません。誰か教えていただけませんか?


クリリン  2003-07-19 01:05:36  No: 107839

共有メンバ変数を宣言して使用します。
例:Public Shared Hoge as integer
この意味が解ったら、コントロールの共有方法を教えます。


アヒルの卵  2003-07-19 01:10:54  No: 107840

わかりませんが、教えてください。とりあえずパブリックだからどこからでも使用できますよってことなんでしょうか?なにぶん素人なものですので・・・。


クリリン  2003-07-19 01:17:39  No: 107841

Sharedがキーワードです。MSDNを見て見たら詳しく書いていますよ
あと、フォームも一つのクラスだと言う事です。
つまり、カプセル化されているんです。だから、Sharedがミソなんです。


アヒルの卵  2003-07-19 01:22:54  No: 107842

ありがとうございます。たしかにSharedで検索してみたらいろいろ出てきました。まだ理解できてませんが(笑)ちょっと調べてみます。


クリリン  2003-07-19 01:24:51  No: 107843

http://madia.world.coocan.jp/index2.html
にコントロール共有の内容が乗っています。見てみてください。


アヒルの卵  2003-07-19 01:48:28  No: 107844

ちなみに、たとえばFORM1のTEXTBOX1に記入した内容も、別のページで利用できるのでしょうか?FORM1で文字列などを受け取って、FORM2でデータベースにつないでその文字列を検索条件にして利用するといった感じにです。


よねKEN  2003-07-20 11:31:07  No: 107845

アヒルの卵さん:
> ASP.NETのApplication("・・・")のように

元々の質問がASP(.NET)のApplicationスコープのグローバルな値と同じようなものと聞かれているので、Sharedキーワードを使えばOKという
解答も間違いというわけではありませんが、
Sharedキーワード自体はあるクラスの各インスタンス間で一つの値を共有するためにある仕組みで
画面間のデータを受け渡すための仕組みではありません。
#そのようにも使おうと思えば使えるというだけで。

Application("・・・")は有無を言わせないグローバル変数そのものなので、
画面間のデータを受け渡しのためであれば適切ではありません。

クラス、インスタンスというオブジェクト指向の根本的な考え方を理解しましょう。
データを受け渡しするためにはPublicなプロパティを用意すればよいとわかると思います。

オブジェクト指向とVB.NETの基礎を学ぶなら下記の書籍がお勧めです。
「ステップバイステップで学ぶ オブジェクト指向プログラミング実践講座
  マイクロソフト公式解説書」


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加