vS 2005 VBについて教えてください。2つのフォームがあります。


Form1とForm2です。

Form1の配列変数をForm2で参照したいのですが、どうすればいいでしょうか。


Public Class Form1
Public textx(1000) As String

と書いて

Form2で
DataGridView1.Rows.Add(Form1.textx(i))
と書くとビルドは通りますが実行中にウォッチを見ると非共有メンバーは参照できないとメッセージが表示されます。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/05/08 22:25:25
  • 終了:2010/05/08 22:46:20

回答(1件)

id:ko8820 No.1

ko8820回答回数1221ベストアンサー獲得回数692010/05/08 22:32:06

ポイント60pt

モジュールでグローバル宣言でtextx(1000) As String

をするしかありません。

id:mai_mai_mail

回答ありがとうございます。「モジュールで」というところが素人のため理解できませんでした。

どの位置に以下を書くのでしょうか?単にpublicをdimに変えるだけではform2からは参照できませんでした(コンパイルエラー)

Dim textx(1000) As String

2010/05/08 22:38:56
  • id:mai_mai_mail
    モジュールの書き方はわかりました。
  • id:mai_mai_mail
    教えていただいた方法で解決しました。ありがとうございます。
  • id:ardarim
    書いたけど締め切られてしまってましたね(泣

    クラスとインスタンスの違いをよく理解されていないと思いますので、その辺のキーワードで学習されるとよいと思います。
    VB.NETではForm1はクラス名でもあり、インスタンス名でもあるため分かりにくくなっています。

    直接的にはこの辺を参照してください。
    http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard29.htm
    http://dobon.net/vb/dotnet/form/accessanotherformdata.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません