son*_*ong 3 c# tooltip internationalization winforms
使用WinForms,我有一个字符串,我想将其设置为工具提示.字符串由行分隔Environment.NewLine,如下所示:
x.ToolTipText = "aaaaaa" + Environment.NewLine + "bbb";
Run Code Online (Sandbox Code Playgroud)
当此字符串设置为ToolTip时,它看起来:
aaaaaa
bbb
Run Code Online (Sandbox Code Playgroud)
但我的问题是当我希望它本地化为阿拉伯语并且ToolTip不支持默认的RightToLeft属性时,所以它看起来非常糟糕.我希望它看起来像:
aaaaaa
bbb
Run Code Online (Sandbox Code Playgroud)
另外:String.PadLeft没有帮助!
任何的想法?
PHe*_*erg 10
第二次尝试.没有设法让以前的解决方案尝试正确行为.通过使用自定义绘制方法渲染工具提示找到了另一种方法.
设置控件:
string tip = "aaaaaa" + Environment.NewLine + "bbb";
toolTip1.OwnerDraw = true;
toolTip1.Draw += toolTip1_Draw;
toolTip1.SetToolTip(textBox1, tip);
Run Code Online (Sandbox Code Playgroud)
处理绘制事件:
private void toolTip1_Draw(object sender, DrawToolTipEventArgs e)
{
e.Graphics.FillRectangle(SystemBrushes.Info, e.Bounds);
e.DrawBorder();
e.DrawText(TextFormatFlags.RightToLeft | TextFormatFlags.Right);
}
Run Code Online (Sandbox Code Playgroud)