[VB.NET]10分问一个Button.click的显象是为什么?

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,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 有人告诉我是因为鼠标从按钮离开时 按钮失去焦点了 平民百姓能不能告诉下你说的发生改变指的是什么现象? 按常理鼠标点击过了 离开不应该变回原来的色! 小问题 就此结贴 __________________________________________________________________________

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...