例えば、Form1からForm2というフォームを表示する場合は、
モーダル表示
表示したウィンドウしか操作できないウィンドウを開く
#include "Form2.h"
(中略)
Form2^ frm = gcnew Form2();
// モーダル表示
frm->ShowDialog(this);
モーダレス表示
表示したウィンドウと表示元のウィンドウの両方が操作できる
#include "Form2.h"
(中略)
Form2^ frm = gcnew Form2();
// モーダレス表示
frm->Show(this);
フォームを閉じる場合
frm->Close();
のようにします。
ShowDialogおよびShowの引数で渡しているthisは無くてもよいのですが、このthisを渡す事で、
Form2からthis->Ownerを参照する事で、親のフォーム(どのフォームから呼ばれたのか?)が分かるので、thisを渡した方が何かと便利です。
また、
frm->Hide();
のようにすると、フォームそのものは破棄されずウィンドウを非表示にする事ができます。
そのため、再びウィンドウを表示したい場合は、再度
frm->Show();
を呼び出すと、Hide()する直前の状態のフォームが表示されます。
コメント
#include “Form2.h”
:←こことかが全角になってるのですがいいのですか?
:↙
Form2^ frm = gcnew Form2();
// モーダル表示
frm->ShowDialog(this
デバッグしたらエラーが出てここを半角にしたら上手く行きました。
分かりづらくて申し訳ありません...
このコロン(:)の部分は #include “Form2.h” から Form2^ frm = gcnew Form2(); までにある書いてあるであろうソースコードの省略のつもりで書いてありました。
そのため、このコロン(:)そのものは必要ありません。(本文も少し修正しました。)
ただし、include文はcppファイルの先頭部分(#pragma once の次の行あたり)に記載するようにして下さい。
以上、よろしくお願い致します。