请教一个绘制字符串的问题

时间:2022-11-09 19:02:36
下面代码绘制文字,为什么会改变字符串顺序绘制,
比如绘制“你好!!”,会绘制成“!!你好”,是为什么啊


                using (Graphics graphics = Graphics.FromHwnd(base.Handle))
                {
                    if (!string.IsNullOrEmpty(_emptyTextTip))
                    {
                        TextFormatFlags format = TextFormatFlags.EndEllipsis | TextFormatFlags.VerticalCenter;

                        if (_emptyTextyAlign == HorizontalAlignment.Right)
                            format |= TextFormatFlags.RightToLeft | TextFormatFlags.Right;
                        else if (_emptyTextyAlign == HorizontalAlignment.Left)
                            format |= TextFormatFlags.RightToLeft | TextFormatFlags.Left;
                        else if (_emptyTextyAlign == HorizontalAlignment.Center)
                            format |= TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter;

                        TextRenderer.DrawText(graphics, _emptyTextTip, _font, base.ClientRectangle, _emptyTextTipColor, format);
                    }
                }

2 个解决方案

#1


看看 format 的值

#2


你设置了 righttoleft么?这是阿拉伯等语言用的,它会颠倒文字的顺序,它们的文字是反过来的。但是“您好”被视作一个完整的外来单词,本身不会颠倒。

#1


看看 format 的值

#2


你设置了 righttoleft么?这是阿拉伯等语言用的,它会颠倒文字的顺序,它们的文字是反过来的。但是“您好”被视作一个完整的外来单词,本身不会颠倒。