VB中,设计一个被动按钮的窗体,窗体上只有1个命令按钮但运行时用鼠标

VB中,设计一个被动按钮的窗体,窗体上只有1个命令按钮但运行时用鼠标点击命令按钮一下,按钮才移动一下(按钮不会移出可视范围)。请哪位大神告诉我一下,跪谢。

Private Sub Command1_Click()
Randomize
Command1.Move (Me.ScaleWidth - Command1.Width) * Rnd, (Me.ScaleHeight - Command1.Height) * Rnd
End Sub

追问

这个不是设计一个抓不住的按钮的窗体,窗体上只有一个命令按钮,但运行时用鼠标无法捕捉到命令按钮(只要鼠标接近按钮,按钮就会移动到一个新的位置,但是按钮不会移出窗体的可视范围)吗?这两个的编码有什么区别的吗?

追答

区别在于一个是由Click(鼠标点击)事件激活的,另一个则是由MouseMove(鼠标移动)事件激活的:

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Randomize
Command1.Move (Me.ScaleWidth - Command1.Width) * Rnd, (Me.ScaleHeight - Command1.Height) * Rnd
End Sub

可以看到,内容是一样的,但是事件不同。

追问

哦哦,好厉害哦,那不移出可视范围需要再写一点编程吗?

追答

Command1.Move (Me.ScaleWidth - Command1.Width) * Rnd, (Me.ScaleHeight - Command1.Height) * Rnd

这个就是把按钮Command1移动到可视范围内的某个随机位置。

Me.ScaleWidth是可视范围的宽度,Me.ScaleHeight是可视范围的高度;

Command1.Width式按钮的宽度,Command1.Height是按钮的高度;

Rnd是随机数(范围在0到1之间)。


请看下图,自己理解:

追问

谢谢啦,好感动

温馨提示:答案为网友推荐,仅供参考
相似回答