0

我一直想创建一个自定义文本框,所以我找到了两种方法可以让我实现这一点,尽管它们不是最好的。其中之一是在图片框本身上实际绘制文本,但我无法找到任何教程或代码来允许我创建它。

但是我确实为 Alpha 通道文本框找到了一些东西,虽然它不允许我将控制权放在其他控件上,但我能够使用它。该代码有效,但我现在唯一的问题是当其他人使用它时,文本是模糊的。

像这样: http: //puu.sh/4hzQM.png

这就是我的样子:http: //puu.sh/4hzUD.jpg

我目前正在使用此代码,我将其转换为vb.net:http://www.codeproject.com/Articles/4390/AlphaBlendTextBox-A-transparent-translucent-textbo

我想知道是否有办法在其他计算机上修复此模糊文本,或者是否有更简单的方法来解决此问题,因为该代码已有 10 年历史,而且在我搜索的任何地方,我都找不到其他任何东西。

谢谢。

4

1 回答 1

-1
  1. 添加班级

  2. 插入这个:

Class TransparentControl Inherits Control Public Sub New() MyBase.SetStyle(ControlStyles.UserPaint, True) MyBase.SetStyle(ControlStyles.OptimizedDoubleBuffer, True) MyBase.SetStyle(ControlStyles.SupportsTransparentBackColor, True) MyBase.SetStyle(ControlStyles.ResizeRedraw, True) MyBase.SetStyle(ControlStyles.AllPaintingInWmPaint, True) End Sub End Class Class TransparentTextBox Inherits TextBox Public Sub New() MyBase.ScrollBars = RichTextBoxScrollBars.Both End Sub Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams Get Dim cp As CreateParams = MyBase.CreateParams cp.ExStyle = cp.ExStyle Or &H20 Return cp End Get End Property Protected Overloads Overrides Sub OnTextChanged(ByVal e As System.EventArgs) MyBase.OnTextChanged(e) MyBase.Parent.Refresh() End Sub End Class

  1. 运行您的应用程序

  2. 转到工具箱,在顶部你应该看到一个名为“TransparentTextBox”的项目添加,忽略错误

  3. 运行应用

  4. 请享用

于 2014-05-11T17:36:42.147 回答