代码之家  ›  专栏  ›  技术社区  ›  Frode Lillerud

MessageBox按钮-设置语言?

  •  19
  • Frode Lillerud  · 技术社区  · 17 年前

    当你使用 MessageBox.Show() MessageBoxButtons 选择。可用的按钮是枚举,并提供“是否”、“确定取消”等选项。

    例如,当我使用挪威语短信时,用户仍然会收到英文“Yes No”。

    有没有办法更改按钮的文本(C#)以确保语言正确?我是否可以覆盖文本,或者以某种方式设置当前区域设置,以便我可以使用“Ja-Nei”而不是“Yes-No”?

    3 回复  |  直到 7 年前
        2
  •  16
  •   Joey Gumbo    17 年前

    通常messagebox按钮(与所有窗口一样)支持当前为Windows设置的UI语言。因此,如果您安装的是英语,并且无法更改语言(MUI版本或Vista/7的Ultimate),那么您就倒霉了。

        3
  •  1
  •   Peter Mortensen Pieter Jan Bonestroo    11 年前

    我认为这是不可能的,但请参阅MSDN文章 MessageBox.Show Method

        4
  •  0
  •   milanbalazs    6 年前

    您可以创建一个面板( pnlExitMode ),有财产 Visible=false btnYes btnNo )将“是”和“否”标记在此面板上(带有“您的”语言的按钮标题),然后将所需的“是/否”操作放入按钮事件处理例程中。 ini 关闭应用程序时尚未写入文件)将面板设置为 Visible . 带按钮的面板将弹出。

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (bIniModified) 
        {
            pnlExitMode.Visible = true; pnlExitMode.BringToFront();
            e.Cancel = true;
        }
    }
    private void btnYes_Click(object sender, EventArgs e)
    {
        SaveToIni();
        pnlExitMode.Visible = false; bIniModified = false;
        Application.Exit();
    }
    private void btnNo_Click(object sender, EventArgs e)
    {
        pnlExitMode.Visible = false; bIniModified = false;
        Application.Exit();
    }
    
    推荐文章