我正在开发一个用于显示和编辑货币值的自定义TextBox
。我想要的是在左侧TextBox
内可以看到货币符号。在谷歌搜索和做一些测试后,覆盖OnPaint
TextBox
有点恐怖。有人有其他想法吗?也许将符号作为背景图片添加到TextBox
(如果这很简单)?
答案 0 :(得分:1)
为什么不在文本框前面放置标签并显示货币值?
答案 1 :(得分:1)
为什么不呢:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (!textBox1.Text.StartsWith("£"))
{
textBox1.Text = string.Concat("£", textBox1.Text);
textBox1.Select(textBox1.Text.Length, 0);
}
}
答案 2 :(得分:0)
你可以做几件事:
答案 3 :(得分:0)
另一种选择是在文本框中使用水印 - 有关如何执行此操作的示例,请参阅here。
答案 4 :(得分:0)
您可以使用MaskedTextBox而不是TextBox。 http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask.aspx
对于您的Mask属性,请使用“$”作为货币符号。