忍者ブログ
暇人おやじの暇なつぶやき
[55] [54] [53] [52] [51] [50] [49] [48] [47] [46] [45]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

■Form1からForm2のデータを利用する

色々とWebを回ったけど、よく分からん。単純にForm1からForm2を表示して、そこで入力された文字列をForm1に表示したいだけなのだが、そんな単純な事も簡単にできないのか???
さすがC++は恐ろしいと思っていましたが、分かってみると単純でした。


【キーポイントは public 】

様々なHPで解説されているForm2を表示する方法として、次の2行のコードがあります

---------------------------
Form2^ F2 = gcnew Form2();
F2->ShowDialog();
---------------------------

これはForm2型のF2を宣言しgcnewにて実体化、F2はそのハンドルになり
モーダル表示になります。

大抵のHPで上記コードがボタンを押下した際のイベント(button1_Click)に書かれていますが
まずこれが危険信号だったんです

というのは型宣言は最小の範囲でしか使えない為ここでForm2型の宣言をしたF2が利用できるのは、このイベント内だけになります。当然、他から参照する事ができない。

そこでまずForm2型の宣言をメインフォームであるForm1に行います。

----------------------------------------------------
        Form2^ F2;

#pragma region Windows Form Designer generated code
----------------------------------------------------

次にForm2においてForm1で利用したいコンポーネント(TextBox)のプロパティ「Modifiers」を「 Public 」にします。これでTextBoxをForm1から利用する準備ができました。

実際にForm2を実体化するのはForm1のForm_Loadイベントで行います。
これでForm1のどの場所からでもForm2のpublicな内容を参照する事が可能になります。
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
08 2024/09 10
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
フリーエリア
最新CM
最新TB
プロフィール
HN:
忍者 シオ才
性別:
非公開
バーコード
ブログ内検索