实例重载 MessageBox
instance overload MessageBox
我正在尝试使用 Myform C++ MessageBox 来制作带有文本的按钮,它可以执行 Close 或 Yes 和 否,但当我尝试将按钮添加到 MessageBox 本身时出现错误。
Errors:
'MessageBox' : ambiguous symbol IntelliSense: no instance of overloaded function
IntelliSense: no instance of overloaded function "System::Windows::Forms::MessageBox::Show" matches the argument list
argument types are: (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);
}
MessageBox::Show("Close:\nProgram?", MessageBoxButtons::OK);
MessageBox::Show("Choose your answer", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Exclamation);
好的,您的两个方法调用正在寻找采用 (String^, MessageBoxButtons)
和 (String^, MessageBoxButtons, MessageBoxIcon)
的重载。
MSDN 列出了 MessageBox::Show
, and neither of those overloads is included. The closest overloads are (String^, String^, MessageBoxButtons)
and (String^, String^, MessageBoxButtons, MessageBoxIcon)
的重载。在每一个中,第二个字符串是消息框标题,将显示在消息框标题栏中的文本。
另外,您不需要 #include <windows.h>
来调用这些 .Net 方法。
像这样的东西应该对你有用:
MessageBox::Show("Close:\nProgram?", "My Fancy App", MessageBoxButtons::OK);
MessageBox::Show("Choose your answer", "My Fancy App", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Exclamation);
我正在尝试使用 Myform C++ MessageBox 来制作带有文本的按钮,它可以执行 Close 或 Yes 和 否,但当我尝试将按钮添加到 MessageBox 本身时出现错误。
Errors:
'MessageBox' : ambiguous symbol IntelliSense: no instance of overloaded function
IntelliSense: no instance of overloaded function "System::Windows::Forms::MessageBox::Show" matches the argument list argument types are: (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);
}
MessageBox::Show("Close:\nProgram?", MessageBoxButtons::OK);
MessageBox::Show("Choose your answer", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Exclamation);
好的,您的两个方法调用正在寻找采用 (String^, MessageBoxButtons)
和 (String^, MessageBoxButtons, MessageBoxIcon)
的重载。
MSDN 列出了 MessageBox::Show
, and neither of those overloads is included. The closest overloads are (String^, String^, MessageBoxButtons)
and (String^, String^, MessageBoxButtons, MessageBoxIcon)
的重载。在每一个中,第二个字符串是消息框标题,将显示在消息框标题栏中的文本。
另外,您不需要 #include <windows.h>
来调用这些 .Net 方法。
像这样的东西应该对你有用:
MessageBox::Show("Close:\nProgram?", "My Fancy App", MessageBoxButtons::OK);
MessageBox::Show("Choose your answer", "My Fancy App", MessageBoxButtons::YesNoCancel, MessageBoxIcon::Exclamation);