如何在MessageBox中设置个人更改?

时间:2014-04-12 10:15:06

标签: c# winforms messagebox

我有一个带有是/否按钮的messageBox。 我希望它的字符串文本从右到左,但按钮位置在左边。我也想改变按钮文字......

我使用了以下代码:

MessageBox.Show("abc", MessageBoxButtons.YesNo, MessageBoxIcon.None,
    MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);

但在此代码中,按钮也位于左侧。我怎样才能在其中设定个人变化?

3 个答案:

答案 0 :(得分:3)

您无法编辑此对话框;设计自己的MessageBox并进行自定义。对于此对话框中的某些有限选项,请参阅MessageBoxOptions枚举中的RightAlignRtlReading选项。

示例:

string message = "سلام";
string caption = "سلام";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result = MessageBox.Show(this, message, caption, buttons,
    MessageBoxIcon.Question, MessageBoxDefaultButton.Button1,
    MessageBoxOptions.RightAlign);

答案 1 :(得分:1)

据我所知,你无法更改/编辑winforms的默认MessageBox。但是,您可以创建自定义消息框。看着那(这 Custom Message Box这可能会有所帮助。 您还可以查看之前提出的here

问题

答案 2 :(得分:0)

在已提供的选项之外定制MessageBox非常困难。 RtlReading选项不是用于化妆品对齐,而是用于在从左到右的环境中启用从右到左的脚本(例如阿拉伯语)。你真正需要的是一些自定义消息框。 CodeProject有几个,所以它们中的一些可能对你有用。网上肯定还有更多。当我转到http://www.codeproject.com/KB/dialog/为.NET添加过滤器并添加对messagebox的搜索时,这就是我得到的:

一篇文章甚至描述了如何扩展系统现有的消息框,但我不推荐这种方法。