读书人

关于ENABLE=FALSE后式样的修改

发布时间: 2013-02-04 10:50:22 作者: rapoo

关于ENABLE=FALSE后样式的修改
本帖最后由 l7890590p 于 2013-01-23 14:39:51 编辑 现在有几个TEXTBOX。ENABLE=FALSE之后,想使其显示字体为黑色。现在默认的是灰色。尝试了重绘。重绘后字体位置和大小发生了变化。 求一个好方法满足ENABLE=FALSE后字体显示为黑色。由于是共通代码,希望尽量避免隐患发生。

 Protected Overrides Sub OnEnabledChanged(ByVal e As System.EventArgs)
MyBase.OnEnabledChanged(e)

If Me.Enabled Then
Me.SetStyle(ControlStyles.UserPaint, False)
Else
Me.SetStyle(ControlStyles.UserPaint, True)
End If

Me.Invalidate()
End Sub

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)

Dim b As System.Drawing.SolidBrush = New System.Drawing.SolidBrush(Me.ForeColor)

e.Graphics.DrawString(Me.Text, Me.Font, b, Me.ClientRectangle())
End Sub
vb ENABLE
[解决办法]
那还是别用enable=false了
直接readonly=true就行了
[解决办法]
http://blog.csdn.net/fangxinggood/article/details/3869613
[解决办法]
就改为Label或者自己写个控件呗。有这时间多做点别的事情,干么那么纠结?

读书人网 >C#

热点推荐