我试过这个Messagebox.Show("abc",MessageBoxOptions.RtlReading);
这有什么意义?
这是我得到的错误:
1:“无法从'System.Windows.Forms.MessageBoxOptions'转换为'string'
2:“无法从'string'转换为 'System.Windows.Forms.MessageBoxButtons'“
3:“最好的重载方法匹配'System.Windows.Forms.MessageBox.Show(string, string)'有一些无效的参数“
答案 0 :(得分:12)
如果它没有从左向右显示,请尝试:
//note the capitalized B in Box
MessageBox.Show(new string("abc".Reverse()), "", MessageBoxButtons.OK, MessageBoxIcons.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
如果你想要这样的东西:
----------------------------X-- ------------------------------- | | | | | cba | | | | |OK| | -------------------------------
我认为它与此无关,但主要是你的参数错误。错误。在这里,修复:
//note the capitalized B in Box
MessageBox.Show("abc", "", MessageBoxButtons.OK, MessageBoxIcons.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
还有一种丑陋的方法可以做到这一点,但这意味着你不必添加额外的内容。首先,创建一个名为MessageBoxEx的类,其内容为......
static class MessageBoxEx
{
public static void Show(string content, MessageBoxOptions options)
{
MessageBox.Show(content, "", MessageBoxButtons.OK, MessageBoxIcons.None, MessageBoxDefaultButton.Button1, options);
}
}
并将其称为MessageBoxEx.Show("abc", MessageBoxOptions.RtlReading);
。
答案 1 :(得分:3)
编写一个默认所有您不想设置的值的方法。
//Message is the string message and options is where you specify RTL
public void ShowMessageBox(string message, MessageBoxOptions options)
{
MessageBox.Show(message, "", MessageBoxButtons.OK, MessageBoxIcons.None, MessageBoxDefaultButton.Button1, options);
}
然后你要做的就是打电话
ShowMessageBox("abc", MessageBoxOptions.RtlReading)
答案 2 :(得分:2)
我遇到过这样的情况,我找到的最好的方法是将两个标志结合起来:RtlReading
和RightAlign
:
MessageBox.Show("Msg body", "Msg title", MessageBoxButton.OK, MessageBoxImage.Warning,
MessageBoxResult.OK, MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign);
答案 3 :(得分:1)
您使用的代码具有匹配的签名
MessageBox.Show(string, string)
尝试显示标题的字符串和标题。相反,你想要的是填充所有参数的东西:
MessageBox.Show("abc def","",MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
答案 4 :(得分:0)
按如下所示修复MessageBoxOptions
:
MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading
根据您的情况:
MessageBox.Show("abc", "", MessageBoxButtons.OK, MessageBoxIcons.None,
MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading);
希望有帮助。