2017-04-18 15 views
-1
私は 閉じるまたは はいのような機能を行うことができた、テキストとボタンを持っているMYFORM C++メッセージボックスを使用しようとしているが、私はボタンを追加しようとすると、私はエラーを取得しています

MessageBox自身に送信します。インスタンス過負荷メッセージボックス

エラー:

  • 'メッセージボックス':あいまいなシンボルのIntelliSense:オーバーロードされた関数のインスタンス

  • のIntelliSense:オーバーロードされた関数のインスタンス「システム:: Windowsの::フォーム:: MessageBox :: Show "は引数リストと一致します 引数の型は次のとおりです。(const char [12]、System :: Windows :: Forms :: MessageBoxButtons、 System :: Windows :: Forms :: MessageBoxIcon)

私も#include <windows.h>

コードを使用している:

private: System::Void autoriusToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { 

     MessageBox::Show("Close:\n" 
     "Program?", MessageBoxButtons::OK); 

    } 

private: System::Void apieProgramaToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { 

     MessageBox::Show("Choose your answer", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Exclamation); 

    } 
+0

あなたの問題に関連していない、しかし、あなたはあなたのユーザー「プログラムの強制終了を?」尋ねると、彼は唯一の「OK」オプションを与えていない。このような

何かがあなたのためのトリックを行う必要があります! –

+0

C++/CLIによるGUIアプリケーションの作成は実際にはサポートされていません。代わりにC#を使用することを検討してください。 –

答えて

1
MessageBox::Show("Close:\nProgram?", MessageBoxButtons::OK); 

MessageBox::Show("Choose your answer", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Exclamation); 

OKを、あなたの2つのメソッド呼び出しは(String^, MessageBoxButtons)(String^, MessageBoxButtons, MessageBoxIcon)を取るオーバーロードを探しています。

MSDNにはMessageBox::Showという過負荷が記載されていますが、これらの過負荷も含まれていません。最も近い過負荷は(String^, String^, MessageBoxButtons)(String^, String^, MessageBoxButtons, MessageBoxIcon)です。それぞれの2番目の文字列は、メッセージボックスのタイトルバーに表示されるテキストであるメッセージボックスキャプションです。

これらの.Netメソッドを呼び出すには、#include <windows.h>も必要ありません。

MessageBox::Show("Close:\nProgram?", "My Fancy App", MessageBoxButtons::OK); 

MessageBox::Show("Choose your answer", "My Fancy App", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Exclamation); 
+0

このメソッドを使用していただきありがとうございます、私は自分のコードを間違って書いていたと思います。 – Duona

関連する問題