我想要显示一个"标尺"在文本框上。
我正考虑在文本框中显示u031D字符......
所以我这样做:
for (int nI = 0; nI <= TxtBox_ApercuFichier.Text.Length; nI++)
{
TxtBox_Regle.Text = TxtBox_Regle.Text.Trim() + "\u031D";
}
使用此代码,它仅显示在字符上。我使用标准的特征,例如,字母&#34; A&#34;,concat是好的。
你知道为什么吗?
非常感谢:)
此致
答案 0 :(得分:1)
\u031D
不是ASCII。这是一个unicode代码点。显然是characters between 0300 and 036F are combining characters,意味着它们仅用于修改其他字符。
你可以通过提供任何一方的角色来展示它们,但结果可能仍然不是你想要的:
textBox1.Text = textBox1.Text.Trim() + " " + "\u031d" + " ";
̝//yeilds : ̝ ̝ ̝ ̝ ̝
更新
我认为这样可以让您开始在表单上构建标尺而不尝试使用文本字符。在表单上实现paint事件:
private void Form1_Paint(object sender, PaintEventArgs e)
{
int counter = 0;
Point start = new Point(10, 50);
Point end = new Point(510, 50);
using (Pen thickpen = new Pen(Color.Black, 2f))
using (Pen thinpen = new Pen(Color.Black, 1f))
{
e.Graphics.DrawLine(thinpen, start, end);
for (int i = 0; i < 501; i += 5)
{
if (counter % 5 == 0)
{
e.Graphics.DrawLine(thickpen, start.X + i, start.Y, start.X + i, start.Y - 5);
}
else
{
e.Graphics.DrawLine(thinpen, start.X + i, start.Y, start.X + i, start.Y - 3);
}
counter++;
}
}
}