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

本文探讨了一个使用Button.Click事件使按钮变色的问题。当尝试在按钮点击事件中更改按钮颜色时,发现颜色改变效果不能持久保持。文章提供了几种解决方法,包括在Paint事件中进行绘制及分别处理MouseUp和MouseLeave事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VB.NET源码-156个实用实例哦…… <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
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
有人告诉我是因为鼠标从按钮离开时 按钮失去焦点了
平民百姓能不能告诉下你说的发生改变指的是什么现象?
按常理鼠标点击过了 离开不应该变回原来的色!
小问题 就此结贴
__________________________________________________________________________
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值