• ベストアンサー

前に似たような質問をしたのですがC#で変数を

前に似たような質問をしたのですがC#で他のFormの変数を 引っ張ってくるときに publicで変数を指定をし、他のFormで変数を指定しているFormを オブジェクト化し引っ張って来るところまではうまくいったのですが、 肝心の変数の値を引っ張ってきません。(Nullになってしまいます) Form同士で変数を受け渡しするときは、何か特別な指定が必要なのでしょうか? よろしくお願いいたします。

  • gotyan
  • お礼率91% (172/188)

質問者が選んだベストアンサー

  • ベストアンサー
  • onti
  • ベストアンサー率37% (9/24)
回答No.4

キャッシュとか、クッキーを使えば簡単にできると思いますよ。 あと、ViewStateとか。

gotyan
質問者

お礼

お返事遅れて申し訳ございません。 ありがとうございます。 がんばってやってみます。できるかな.........

その他の回答 (3)

  • onti
  • ベストアンサー率37% (9/24)
回答No.3

これって、VC#@NETとは違うんですかね? VC#@NETでWebアプリケーションを作成していてFORM 間をまたいで変数の値を渡そうとしているのなら、おそらく 不可能かと思います。FORMのデータ自体が生成されている のでしたら別ですが、FORMが切り替わるタイミングでの処理 だとしたら、データは消滅しているためNULL参照になると思います。

gotyan
質問者

お礼

ありがとうございます。 不可能ですか........大した量ではないので レジストリか外にデータとして書き出して 対処も考えてみます。 何とかできないかもう少し考えてみます。

回答No.2

OK-Webでは下記URLかと。

参考URL:
http://www.okweb.ne.jp/oshiete.php3?c=556
gotyan
質問者

お礼

以前OK-Webの方で登録しようとして、gooの方で登録している方は、 gooでお使いくださいとはじかれてしまいました....(泣。 一度VBと一緒でもいいので題名だけでも変えてもらえないか申請してみます。 その他ですとほとんど見てもらえないような気がして.............

回答No.1

ここはC/C++のためのコミュニティです。

gotyan
質問者

お礼

すいませんがどこに書き込めばいいのでしょうか? 以前ここで教えていただいたのですが?

関連するQ&A

  • 変数操作(C言語)

    C言語でプログラムを書いてます。 char1[0]:1 char1[1]:5   ↓ char2[0]:1 char2[1]:NULL char2[2]:NULL char2[3]:NULL char2[4]:5 char2[5]:NULL という風に値の順番と配列の順番を別の変数で一緒にしたいのです。1から5までの値はNULL、また5以降はNULLといったように値を格納したいのです。 こういったロジックの組み方のご教授願います。 また値が2、4でも対応できるような(どんな数でも)ものでお願いします。(↓例) char1[0]:2 char1[1]:4   ↓ char2[0]:NULL char2[1]:2 char2[2]:NULL char2[3]:4 char2[4]:NULL char2[5]:NULL よろしくお願い致します。

  • フォーム間での変数の受け渡し

    VB6で、例えばForm1からForm2を呼び出す際に、Form2のローカル変数へ値を渡すことは可能でしょうか? プロジェクト内のPublic変数にするしかないでしょうか? 基本的質問かもしれませんが、よろしくお願いします。

  • C言語の変数について

    C言語の変数について教えていただきたいです。 C言語で下記のような設定をした場合、変数A、Bに設定する値にはバイト数制限 はないのでしょうか? バイト数制限がなくなる場合、なぜそうなるのかを教えていただきたいです。 よろしくお願いします。 #include <stdio.h> void test( char **B); int main( int argc, char *argv[] ) { char *A = NULL; char *B = NULL; A = argv[1]; test( B ); return 0; } void test( char **B ) { strcpy(B, "ABCD"); return 0; }

  • Form2の変数をForm1に渡す方法について

    Form2の変数をForm1に渡す方法について Form2もForm1もPublicで宣言しているのですが、値の受け渡しができません。 具体的に説明しますと、Form2のデザイナでTrackbarを設け、 そのTrackbar1の値をForm1のTB1に格納したいです。 今Form2のボタンクリックイベントの中に 「Form1.TB1 = Trackbar1.Value.ToString()」 としているのですが、『Form1.TB1はPrivateであるため、このコンテキストではアクセスできません。』と表示されてしまいます。 Form1の中にはいくつかPartial Publicを使って関数をいくつか作成しています。これが何か邪魔をしたりすることはあるのでしょうか? 原因が全くわからないので、どうかよろしくお願いします。

  • 変数にnullを代入するには

    諸事情で、変数の値をNullにしたいのですが、 Sub a() Dim mystr As String mystr = "moji" '他の処理 mystr = Null End Sub だと、実行時エラー94になります。 多分、NULLは値じゃないから代入できないんだと思いますが、どうすれば変数をnullにできるのでしょうか? String型が問題であれば、何にすればいいですか?

  • C,C++に変数の初期化と処理系について

    C,C++で変数宣言したけれども初期化しないで使った場合、何らかの値を出力してしまう場合とかエラー(core dumpなども)を出して停止する場合など処理系依存ということになると思います。また、別言語ではデフォルトでゼロ指定される場合もあります。これは自動初期化とい意味で初期化がされているものに分類されます。 処理系で初期化しないで変数を利用して適当な値を出すという風になっているとしたらその理由とかメリットというのがあるものでしょうか。core dumpで処理が停止するというのは当然であり、良心的とも言えるわけで、適当な値を出すことは危険極まりないと思うのですが。 Windowsで、分子・分母の変数を定義しないで割り算したところ、256な数値が出ました。 Linuxではcore dumpになるところだと思います。 初期化して使え、ということを徹底するべきですが、逆に初期化しないでも(すなわち変数としてどのアドレスに対応しているか不明であっても?)計算を進めてしまうメリットがどこかにあるのか?という疑問が生じます。 いかがでしょうか。そこが分かれば尚更変数を初期化して使う習慣が身に着くと思うわけですが。

  • Visual C♯ フォーム間での値の受け渡し

    Visual C♯ フォーム間での値の受け渡しについて プログラミング初心者です。 今、勉強中なのですが、試行錯誤しても出来なかったので助けていただければと思います。 現在Visual C# 2008を使っております。 フォーム間の値の受け渡しについて、助言をお願いします。 [Form1] ・TextBox1 ・Button1 [Form2] ・TextBox2 ・Button2 1.Form1のButton1をクリックし、Form2を出す。 2.Form2のtextBox2に文字を入力し、Button2をクリックする。 3.Form1のTextBox1に、Form2のtextBox2に入力した文字を表示する。 という、作業をしたいのです。 できればソース付きで教えていただけると助かります。 よろしくお願いします。

  • 【変数消去】できるのかな??

    変数を宣言して値を入れて それを消す方法はありますか?? var a =1; この"a"という変数の入れ物じたいを スコープから消せますか?? nullを入れるとnullのままだし。 どうしたらいいか教えてください。

    • ベストアンサー
    • Flash
  • フォーム間での共有変数

    今、フォームを二つ表示し、お互い共通の変数を使って値の受け渡しをさせたいのですが、どうもうまくいきません。 知り合いには標準モジュールを使えばいいって聞いたので さっそく「プロジェクト」→「標準モジュールの追加」をし、 でてきたエディタに変数を追加 起動してみると・・・ちゃんと値の受け渡しができていませんでした。 ただ追加するだけでは受け渡しはできないのでしょうか? それとも標準モジュールの時点で間違いでしょうか? どなたか、レスお待ちしてます

  • C# 配列の変数宣言について。

    C#についての質問です。 新たなint型の配列dataを作るため変数宣言文を、以下のように書きました。 int[] data; すると、以下のような警告文が出ました。 『フィールド'IntArray.data'は割り当てられません。常に既定値nullを使用します。』 そこで調べてみたところ、「newしていないからこのような警告文が出る」ということがわかったので、以下のように書き換えました。 private int[] data = new int[]; すると今度は 『配列を作成するには、配列のサイズまたは配列の初期化子を指定する必要があります。』 というエラー文が出てしまいました。 このとき、配列のサイズも初期化子も指定したくない場合には、どのようにプログラムを書けば良いのでしょうか? お分かりになる方がいらっしゃいましたら、ご助言をお願いします。