暇人おやじの暇なつぶやき
× [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 |
カレンダー
カテゴリー
フリーエリア
最新CM
最新TB
ブログ内検索
|