
10分问一个Button.click的显象是为什么?
代码如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics
Dim brushred As SolidBrush = New SolidBrush(Color.Red)
g = Button1.CreateGraphics
g.FillRectangle(brushred, 0, 0, 282, 112)
End Sub
很简单就是想用Button.Click事件给Button本身全画成红色的
点击按钮代码实现,当鼠标指针从Button上移开时Button又自动变成原来的样子
就象事件里的代码没有被执行一样
这是什么?
__________________________________________________________________________
因为按钮状态一有发生改变它就会用默认的方式来绘制按钮本身,所以你只在Click事件里绘制是不“全”的。
__________________________________________________________________________
你可以在Paint事件里对它绘制,比如:
Private Sub Button1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint
e.Graphics.Clear(Color.Red)
End Sub
__________________________________________________________________________
应该分别在MouseUP和MouseLeave中写变色代码和恢复代码
__________________________________________________________________________
谢谢两位
我只是想给点击过的按钮变下色 所以没用Point
有人告诉我是因为鼠标从按钮离开时 按钮失去焦点了
平民百姓能不能告诉下你说的发生改变指的是什么现象?
按常理鼠标点击过了 离开不应该变回原来的色!
小问题 就此结贴
__________________________________________________________________________