我一直想创建一个自定义文本框,所以我找到了两种方法可以让我实现这一点,尽管它们不是最好的。其中一个是实际在图片框上绘制文本,但我无法找到任何教程或代码来允许我创建它。
但我确实找到了Alpha通道文本框的内容,虽然不允许我将控件放在其他控件上,但我能够使用它。代码有效,但我现在唯一的问题就是当其他人使用它时,文字模糊不清。
这就是我的样子:http://puu.sh/4hzUD.jpg
我目前正在使用此代码,我将其转换为vb.net:http://www.codeproject.com/Articles/4390/AlphaBlendTextBox-A-transparent-translucent-textbo
我想知道是否有办法在其他计算机上修复这些模糊的文本,或者是否有更简单的方法来执行此操作,因为该代码已有10年历史,我搜索到的任何地方,我找不到任何其他内容。
感谢。
答案 0 :(得分:-1)
添加课程
插入:
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
运行您的应用程序
转到工具栏,在顶部你应该看到一个名为" TransparentTextBox"添加,忽略错误
运行应用
享受