質問するログイン新規登録

回答編集履歴

4

追記

2016/05/10 09:20

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -70,3 +70,12 @@
70
70
  Task::Run(gcnew Action(showForm3, &ShowForm3::Show));
71
71
  }
72
72
  ```
73
+
74
+ ---
75
+ 追記
76
+ Threadクラス版です。
77
+ 上記コードの`Task::Run~`部分を以下のコードに置き換えると動くと思います。usingは`System::Threading`に変えてください。
78
+ ```C++
79
+ Thread^ thread = gcnew Thread(gcnew ParameterizedThreadStart(showForm3, &ShowForm3::Show));
80
+ thread->Start();
81
+ ```

3

誤植訂正

2016/05/10 09:20

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  void Show()
60
60
  {
61
- MyForm1^ form3 = gcnew MyForm3();
61
+ MyForm3^ form3 = gcnew MyForm3();
62
62
  form3->Show(this);
63
63
  Application::Run(form3);
64
64
  }

2

追記

2016/05/10 08:12

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -36,6 +36,9 @@
36
36
  追記
37
37
  上記コードのC++/CLI版です。
38
38
  ```C++
39
+ using namespace System::Threading::Tasks;
40
+ // ↑上の方に並んでいるusingにこれを追加してください
41
+
39
42
  private: ref class ShowForm3 : public IWin32Window
40
43
  {
41
44
  IntPtr mHandle;

1

サンプルコード追記

2016/05/10 08:09

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -30,4 +30,40 @@
30
30
  Application.Run(form3);
31
31
  });
32
32
  }
33
- ```
33
+ ```
34
+
35
+ ---
36
+ 追記
37
+ 上記コードのC++/CLI版です。
38
+ ```C++
39
+ private: ref class ShowForm3 : public IWin32Window
40
+ {
41
+ IntPtr mHandle;
42
+
43
+ public:
44
+ virtual property IntPtr Handle
45
+ {
46
+ IntPtr get()
47
+ {
48
+ return this->mHandle;
49
+ }
50
+ }
51
+
52
+ ShowForm3(IntPtr iHandle)
53
+ : mHandle(iHandle)
54
+ {}
55
+
56
+ void Show()
57
+ {
58
+ MyForm1^ form3 = gcnew MyForm3();
59
+ form3->Show(this);
60
+ Application::Run(form3);
61
+ }
62
+ };
63
+
64
+ private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
65
+ {
66
+ ShowForm3^ showForm3 = gcnew ShowForm3(this->Handle);
67
+ Task::Run(gcnew Action(showForm3, &ShowForm3::Show));
68
+ }
69
+ ```