将静态文本添加到TextBox

时间:2011-09-14 13:56:49

标签: c# winforms textbox

我正在开发一个用于显示和编辑货币值的自定义TextBox。我想要的是在左侧TextBox内可以看到货币符号。在谷歌搜索和做一些测试后,覆盖OnPaint TextBox有点恐怖。有人有其他想法吗?也许将符号作为背景图片添加到TextBox(如果这很简单)?

5 个答案:

答案 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)

你可以做几件事:

  • 在文本框的get属性中添加“$”
  • 使用静态$
  • 添加标签
  • 使用$作为标签创建用户控件,并将其与自定义文本框重复使用

答案 3 :(得分:0)

另一种选择是在文本框中使用水印 - 有关如何执行此操作的示例,请参阅here

答案 4 :(得分:0)

您可以使用MaskedTextBox而不是TextBox。 http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask.aspx

对于您的Mask属性,请使用“$”作为货币符号。