c# – 如何获取MessageBox按钮标题?

我正在创建一个允许您复制文本的自定义消息框,但我希望它看起来与标准消息框完全相同,所以我想将按钮文本设置为系统语言,就像MessageBox类一样.
有谁知道如何获得该文本(“是”,“否”,“取消”等)?

解决方法

感谢您使用Snarfblam链接的答案,我可以弄清楚其余部分.
class Program {

[DllImport("user32.dll",CharSet = CharSet.Auto)]
static extern int LoadString(IntPtr hInstance,uint uID,StringBuilder lpBuffer,int nBufferMax);
[DllImport("kernel32")]
static extern IntPtr LoadLibrary(string lpFileName);

private const uint OK_CAPTION = 800;
private const uint CANCEL_CAPTION = 801;
private const uint ABORT_CAPTION = 802;
private const uint RETRY_CAPTION = 803;
private const uint IGNORE_CAPTION = 804;
private const uint YES_CAPTION = 805;
private const uint NO_CAPTION = 806;
private const uint CLOSE_CAPTION = 807;
private const uint HELP_CAPTION = 808;
private const uint TRYAGAIN_CAPTION = 809;
private const uint CONTINUE_CAPTION = 810;

static void Main(string[] args) {
    StringBuilder sb = new StringBuilder(256);

    IntPtr user32 = LoadLibrary(Environment.SystemDirectory + "\\User32.dll");

    LoadString(user32,OK_CAPTION,sb,sb.Capacity);
    string ok = sb.ToString();

    LoadString(user32,CANCEL_CAPTION,sb.Capacity);
    string cancel = sb.ToString();

    LoadString(user32,ABORT_CAPTION,sb.Capacity);
    string abort = sb.ToString();

    LoadString(user32,RETRY_CAPTION,sb.Capacity);
    string retry = sb.ToString();

    LoadString(user32,IGNORE_CAPTION,sb.Capacity);
    string ignore = sb.ToString();

    LoadString(user32,YES_CAPTION,sb.Capacity);
    string yes = sb.ToString();

    LoadString(user32,NO_CAPTION,sb.Capacity);
    string no = sb.ToString();

    LoadString(user32,CLOSE_CAPTION,sb.Capacity);
    string close = sb.ToString();

    LoadString(user32,HELP_CAPTION,sb.Capacity);
    string help = sb.ToString();

    LoadString(user32,TRYAGAIN_CAPTION,sb.Capacity);
    string tryAgain = sb.ToString();

    LoadString(user32,CONTINUE_CAPTION,sb.Capacity);
    string cont = sb.ToString();

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


c语言数组越界会怎么样
c语言指针怎么等于数组
c语言数组怎么存入文字
c语言中怎么显示数组
c语言数组元素怎么选
c语言数组怎么累加
c语言数组符号怎么输入
c语言怎么用长数组
c语言数组函数怎么输入
c语言数组怎么去掉差异
c语言怎么求解数组
c语言数组怎么用变量
c语言怎么申明数组
c语言怎么控制数组
c语言怎么计算数组长度
c语言数组怎么插星号
c语言数组怎么加长度
c语言中怎么输出数组
c语言怎么记住数组边界
c语言数组怎么输入符号