スポンサーリンク
問題1:コードから作っているのでデザイナやプロパティは使えない
問題2:検索してもC#の情報しか出ない(そして大抵は名前空間がわからない)
ベースは以下
C++CLI でコードで作成したフォームにコードでコントロールを配置
まずこの状態のフォームがある。
ref class MyForm :public System::Windows::Forms::Form { /* 省略 */ public: MyForm() { /* 省略 */ } virtual ~MyForm() { } /* 省略 */ }
ソースコードの自動補完で戻り値と引数を確認する。
void OnFormClosing(System::Windows::Forms::FormClosingEventArgs^ e)override { if( m_f_c == false) if (e->CloseReason == CloseReason::UserClosing) e->Cancel = true; }
ref class MyForm :public System::Windows::Forms::Form { System::Windows::Forms::Button^ m_button; bool m_f_c = false; public: MyForm() { m_button = gcnew System::Windows::Forms::Button; m_button->Text = "close"; m_button->Click += gcnew EventHandler(this, &MyForm::ClickEvent);//イベントハンドラ追加 this->Controls->Add(m_button);//フォームに配置 } virtual ~MyForm() { } void ClickEvent(Object^ source, EventArgs^ e) { System::Windows::Forms::MessageBox::Show("Close"); m_f_c = true; this->Close(); }void OnFormClosing(System::Windows::Forms::FormClosingEventArgs^ e)override { if( m_f_c == false) if (e->CloseReason == CloseReason::UserClosing) e->Cancel = true; }};