将静态文本添加到 TextBox

发布于 2024-12-04 23:12:25 字数 210 浏览 3 评论 0原文

我正在开发一个自定义 TextBox 用于显示和编辑货币值。我想要的是在左侧的 TextBox 中显示货币符号。在谷歌搜索并进行一些测试后,重写 TextBoxOnPaint 有点恐怖。有人有其他想法吗?也许将符号作为背景图片添加到 TextBox (如果这相当简单)?

I'm developing a custom TextBox for displaying and editing currency values. What I would like is to have a currency symbol visible within the TextBox on the left side. Overriding OnPaint of a TextBox is sort of horror after Googling and doing some tests. Anybody have other ideas? Maybe add the symbol as a background picture to the TextBox (if that is rather simple)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

画离情绘悲伤 2024-12-11 23:12:25

为什么不在文本框之前放置一个标签并显示货币值?

why don't you put a label before the text box and display the currency value?

剧终人散尽 2024-12-11 23:12:25

为什么不只是:

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (!textBox1.Text.StartsWith("£"))
        {
            textBox1.Text = string.Concat("£", textBox1.Text);
            textBox1.Select(textBox1.Text.Length, 0);
        }
    }

why not just:

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (!textBox1.Text.StartsWith("£"))
        {
            textBox1.Text = string.Concat("£", textBox1.Text);
            textBox1.Select(textBox1.Text.Length, 0);
        }
    }
调妓 2024-12-11 23:12:25

您可以执行以下操作:

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

You could do several things:

  • Add a "$" in your get property of the textbox
  • Add a label with a static $
  • Create a user control with a $ as a label and reuse it with your custom textbox
静待花开 2024-12-11 23:12:25

另一种选择是在文本框中使用水印 - 请参阅此处了解如何执行此操作的示例。

Another option would be to use a watermark in your textbox--please see here for an example of how to do this.

情徒 2024-12-11 23:12:25

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

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

You can use a MaskedTextBox instead of a TextBox. http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask.aspx

For your Mask property, use "$" for the currency symbol.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文