【问题标题】:Custom textbox style自定义文本框样式
【发布时间】:2014-04-21 08:42:46
【问题描述】:

我在 Photoshop 中制作了一个自定义文本框,我想应用它。我知道,您无法更改 Visual Studio 中的背景,或使其透明。我已经看到了一些关于如何做到这一点的方法,但它们并不是很清楚。

所以我想问你 - 改变文本框背景或使其透明的最简单方法是什么?

【问题讨论】:

  • 是winform还是wpf?
  • 在 Winforms 中没有控件支持透明度。 (表单除外。)您可能会成功创建自定义文本框,但这会很棘手!请参阅这些帖子:How to draw on top of a TextBoxTextbox custom onPaint 如果我是你,我可能会放弃使用 TextBox 并使用一个面板来捕获键来收集文本并将其绘制在我的背景图像之上。 TextBox 没有那么多功能,是吗?
  • 这听起来像是一个解决方案。你能给我更多关于这种方法的信息吗? (面板)
  • 如果你能多解释一下你的情况可能会更容易,比如图像有多大?会被拉长吗?文本框中将有多少文本?它将如何编辑..?基本思想是捕获所有键并将它们添加到文本中或编辑文本框将对它们进行的编辑。如果完全实施,那将是一些工作,但也许部分实施就足够了..
  • 绝对正确 - 在过去的几天里,我一直在学习很多关于 WPF 的知识,如果可以选择这种方式,它会让这样的事情变得非常容易。但是改用 WPF 是一个重大决定,不是我的决定,也不是你的决定。为一个小控件投入如此大量的工作/金钱是一个相当大的决定。而且我真的不能说我喜欢我到目前为止在 WPF 中看到的内容..(xaml(在人眼看来)是非结构化且不可读的;设计是废话,调试问题很荒谬,99% 都是新的完全不感兴趣的选项..)

标签: c# winforms


【解决方案1】:

您需要添加一个新的用户控件,例如 CustomTextBox 并将其放入构造函数中,这将使其透明

SetStyle(ControlStyles.SupportsTransparentBackColor, true);

C# transparency on textbox

【讨论】:

    【解决方案2】:

    不确定透明度,但更改文本框的背景很简单,请查看此链接:

    XAML: http://www.c-sharpcorner.com/UploadFile/mahesh/XAMLTextBox04092007062405AM/XAMLTextBox.aspx

    此外,如果使用 WinForms;你有以相同方式工作的 BackColor 属性: http://msdn.microsoft.com/en-us/library/s2kh9x59(v=vs.110).aspx

    编辑:

    你可以通过使用丰富的文本框来代替......有点。

    http://www.codeproject.com/Articles/4544/Insert-Plain-Text-and-Images-into-RichTextBox-at-R http://www.codeproject.com/Articles/12135/Inserting-images-into-a-RichTextBox-control-the-OL

    【讨论】:

    • 背景必须是 .png 图片,我已经有了,而不是颜色。你确定这会奏效吗?
    • 在我的答案中添加了两个新链接,看看吧!
    猜你喜欢
    • 1970-01-01
    • 2015-10-16
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    相关资源
    最近更新 更多