实例过载消息框

instance overload MessageBox

本文关键字:消息 实例      更新时间:2023-10-16

我正在尝试使用myform c messagebox具有带有文本的按钮,该按钮可以执行诸如 close yes YES 和和 no ,但是当我尝试将按钮添加到MessageBox本身时,我会遇到错误。

错误:

  • 'MessageBox':模棱两可的符号IntelliSense:没有过载函数的实例

  • Intellisense:没有过载函数的实例"系统:: Windows :: Forms :: MessageBox :: Show"匹配参数列表 参数类型为:( const char [12],系统:: Windows ::表单:: MessageBoxButtons, 系统:: 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的过载,并且这些过载都不包括在内。最近的过载是(String^, String^, MessageBoxButtons)(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);