MessageBox.Show right to left reading not working

Shmulik Cohen picture Shmulik Cohen · Jun 7, 2013 · Viewed 9.3k times · Source

Hey I'll make it simple. I want to make a MessageBox of this string "abc" and it will be read from right to left.

I tried this Messagebox.Show("abc",MessageBoxOptions.RtlReading);

what's worng with this ?

this is the error i get :

1:"cannot convert from 'System.Windows.Forms.MessageBoxOptions' to 'string"

2:"cannot convert from 'string' to 'System.Windows.Forms.MessageBoxButtons'"

3:"The best overloaded method match for 'System.Windows.Forms.MessageBox.Show(string, string)' has some invalid arguments"

Answer

It'sNotALie. picture It'sNotALie. · Jun 8, 2013

If it's not displaying left to right, try this:

//note the capitalized B in Box
MessageBox.Show(new string("abc".Reverse()), "", MessageBoxButtons.OK, MessageBoxIcons.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);

If you want something like this:

----------------------------X--
-------------------------------
|                             |
|                             |
|                        cba  |
|                             |
|                        |OK| |
-------------------------------

I think it doesn't have to do with that though, it's mainly you got the parameters wrong. wrong. Here, fixed:

//note the capitalized B in Box
MessageBox.Show("abc", "", MessageBoxButtons.OK, MessageBoxIcons.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);

There's also an ugly way to do this, but it means you don't have to add the extraparams. First, make a class called MessageBoxEx, and the contents of it are...

static class MessageBoxEx
{
    public static void Show(string content, MessageBoxOptions options)
    {
        MessageBox.Show(content, "", MessageBoxButtons.OK, MessageBoxIcons.None,          MessageBoxDefaultButton.Button1, options);
    }
}

and call it like MessageBoxEx.Show("abc", MessageBoxOptions.RtlReading);.