I'm developing an Application that is targeted for the Arabic language.
When using a standard GridView to get the grid to display in a right to left fashion you need to mirror the control. The code to do this looks like this:
protected override CreateParams CreateParams { get { CreateParams CP; CP = base.CreateParams; if(_mirrored) CP.ExStyle = CP.ExStyle | WS_EX_LAYOUTRTL | WS_EX_NOINHERITLAYOUT; return CP; } }
This works perfectly with the GridView, However with the WinGrid the text is painted in reverse as if it was flipped.
Is there a way to override this behavior and get it to paint correctly?
The Infragistics WinForms control do not support RTL.
As I can see throughout the forum, RTL is not something the Infragistics Crew supports. Although this is published means for a user to accomplish RTL with additional work. However Infragistics has not implemented their controls in such a way that it no longer compatible with the Microsoft solution. I think that this is an oversight and design issue in that you do not want to disable or break functionality of a control you are intending to replace.
I would like an official word from Infragistics on this post.
As far as I know, there is no way to do this with CreateParams.
If you have version 9.2, you can use the UltraControlContainerEditor as an EditorComponent of a column, and you can attach an MS TextBox that supports rtl to the UltraControlContainerEditor. I don't know if this will work with CreateParams. If you really want to work hard, you can use CreationFilter to move things in the grid while it is drawing itself.
I think Infragistics should support rtl and you can help that by creating a feature request.