我在vb.net中的按钮控件中放置了图像和backgroundimage 如果按钮处于禁用状态,图像也显示为禁用(没有图像颜色)状态。但我想要一个图像作为启用(即图像应该是彩色的),同时按钮将被禁用
答案 0 :(得分:1)
创建一个继承自Button Class的用户控件,然后重写OnPaint()方法。
请注意,在继承用户控件之后,您将看到一条消息,指示控件的partial-class中需要修复,使用IDE的建议来解决此问题,并从设计器中删除(现在)过时的AutoScaleMode属性代码(在构造函数中)。
编辑:我错了,你必须覆盖OnPaint()方法,并完全绘制按钮,包括它的文本。
Public Class myButton : Inherits System.Windows.Forms.Button
Protected Overrides Sub OnPaint(ByVal pevent As System.Windows.Forms.PaintEventArgs)
'MyBase.OnPaint(pevent)
pevent.Graphics.DrawImage(myimage, 0, 0, myimage.Width, myimage.Height)
pevent.Graphics.DrawString(Me.Text, Me.Font, SystemBrushes.GrayText, 0, 0)
End Sub
End Class