Vb.net 如何使按钮在大小上向上移动(通过垂直向上移动),而不是在总大小上移动?
我与我在Visual Basic NET中使用的按钮有轻微冲突Vb.net 如何使按钮在大小上向上移动(通过垂直向上移动),而不是在总大小上移动?,vb.net,Vb.net,我与我在Visual Basic NET中使用的按钮有轻微冲突 Private Sub FlatButton1_MouseHover(sender As Object, e As EventArgs) Handles FlatButton1.MouseHover Button_Height.Enabled = True Button_Height.Start() End Sub 我的第一个代码示例是我的按钮\u高度\u勾选,它控制更改按钮的高度: Dim ChangeHeigh
Private Sub FlatButton1_MouseHover(sender As Object, e As EventArgs) Handles FlatButton1.MouseHover
Button_Height.Enabled = True
Button_Height.Start()
End Sub
我的第一个代码示例是我的按钮\u高度\u勾选,它控制更改按钮的高度:
Dim ChangeHeight As Boolean = False
Private Sub Button_Height_Tick(sender As Object, e As EventArgs) Handles Button_Height.Tick
If Not ChangeHeight Then
Do Until FlatButton1.Height = 63
FlatButton1.Height += 1
System.Threading.Thread.Sleep(1)
Loop
ChangeHeight = True
Else
End If
End Sub
对于我的扁平按钮1\u鼠标套
Private Sub FlatButton1_MouseHover(sender As Object, e As EventArgs) Handles FlatButton1.MouseHover
Button_Height.Enabled = True
Button_Height.Start()
End Sub
现在,正如您在按钮高度勾选子菜单中看到的,代码将按钮高度更改为63,但是,当运行此代码时,按钮总高度将更改
这里有一些照片,以防我没有解释清楚
如果您不理解此问题,请在下面进行评论。您需要更改“顶部”位置,而且我注意到您有一个计时器,然后只需进入一个循环。在您的示例中,不需要计时器 我将给出一个使用计时器的示例,希望您能理解它,并能根据需要使用它。我已将“悬停”更改为“进入”和“离开” 如果速度太慢,只需更改增量
Dim ChangeHeight As Boolean = False
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If ChangeHeight Then
FlatButton1.Height += 2
FlatButton1.Top -= 2
If FlatButton1.Height < 63 Then Exit Sub
FlatButton1.Height = 63
Timer1.Enabled = False
Else
FlatButton1.Height -= 2
FlatButton1.Top += 2
If FlatButton1.Height > 31 Then Exit Sub
FlatButton1.Height = 31
Timer1.Enabled = False
End If
End Sub
Private Sub FlatButton1_MouseEnter(sender As Object, e As EventArgs) Handles FlatButton1.MouseEnter
ChangeHeight = True
If Timer1.Enabled Then Exit Sub
Timer1.Enabled = True
Timer1.Start()
End Sub
Private Sub FlatButton1_MouseLeave(sender As Object, e As EventArgs) Handles FlatButton1.MouseLeave
ChangeHeight = False
If Timer1.Enabled Then Exit Sub
Timer1.Enabled = True
Timer1.Start()
End Sub
Dim changehight作为布尔值=False
私有子Timer1\u Tick(发送方作为对象,e作为事件参数)处理Timer1.Tick
如果改变高度那么
扁平按钮1.高度+=2
扁平按钮1.顶部-=2
如果扁平按钮1.高度<63,则退出Sub
扁平按钮1.高度=63
Timer1.Enabled=False
其他的
扁平按钮1.高度-=2
扁平按钮1.顶部+=2
如果FlatButton1.高度>31,则退出Sub
扁平按钮1.高度=31
Timer1.Enabled=False
如果结束
端接头
私有子FlatButton1\u MouseEnter(发送方作为对象,e作为事件参数)处理FlatButton1.MouseEnter
更改高度=真
如果定时器1.已启用,则退出Sub
Timer1.Enabled=True
Timer1.Start()
端接头
私有子FlatButton1_MouseLeave(发送方作为对象,e作为事件参数)处理FlatButton1.MouseLeave
changehight=False
如果定时器1.已启用,则退出Sub
Timer1.Enabled=True
Timer1.Start()
端接头
您需要更改“顶部”位置,而且我注意到您有一个计时器,然后只需进入do a循环。在您的示例中,不需要计时器
我将给出一个使用计时器的示例,希望您能理解它,并能根据需要使用它。我已将“悬停”更改为“进入”和“离开”
如果速度太慢,只需更改增量
Dim ChangeHeight As Boolean = False
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If ChangeHeight Then
FlatButton1.Height += 2
FlatButton1.Top -= 2
If FlatButton1.Height < 63 Then Exit Sub
FlatButton1.Height = 63
Timer1.Enabled = False
Else
FlatButton1.Height -= 2
FlatButton1.Top += 2
If FlatButton1.Height > 31 Then Exit Sub
FlatButton1.Height = 31
Timer1.Enabled = False
End If
End Sub
Private Sub FlatButton1_MouseEnter(sender As Object, e As EventArgs) Handles FlatButton1.MouseEnter
ChangeHeight = True
If Timer1.Enabled Then Exit Sub
Timer1.Enabled = True
Timer1.Start()
End Sub
Private Sub FlatButton1_MouseLeave(sender As Object, e As EventArgs) Handles FlatButton1.MouseLeave
ChangeHeight = False
If Timer1.Enabled Then Exit Sub
Timer1.Enabled = True
Timer1.Start()
End Sub
Dim changehight作为布尔值=False
私有子Timer1\u Tick(发送方作为对象,e作为事件参数)处理Timer1.Tick
如果改变高度那么
扁平按钮1.高度+=2
扁平按钮1.顶部-=2
如果扁平按钮1.高度<63,则退出Sub
扁平按钮1.高度=63
Timer1.Enabled=False
其他的
扁平按钮1.高度-=2
扁平按钮1.顶部+=2
如果FlatButton1.高度>31,则退出Sub
扁平按钮1.高度=31
Timer1.Enabled=False
如果结束
端接头
私有子FlatButton1\u MouseEnter(发送方作为对象,e作为事件参数)处理FlatButton1.MouseEnter
更改高度=真
如果定时器1.已启用,则退出Sub
Timer1.Enabled=True
Timer1.Start()
端接头
私有子FlatButton1_MouseLeave(发送方作为对象,e作为事件参数)处理FlatButton1.MouseLeave
changehight=False
如果定时器1.已启用,则退出Sub
Timer1.Enabled=True
Timer1.Start()
端接头
大家好,欢迎来到StackOverflow。我举了一个小例子,说明了如何实现你的目标
代码:
我做得很快,但这足以让你知道如何实现你的目标
在我的示例中,有一个名为
testBtn
的按钮,当您用鼠标浏览它时,按钮的高度会增加,当您将鼠标移出时,会返回到正常的您好,欢迎来到StackOverflow。我举了一个小例子,说明了如何实现你的目标
代码:
我做得很快,但这足以让你知道如何实现你的目标
在我的示例中,有一个名为
testBtn
的按钮,当你用鼠标点击它时,按钮的高度会增加,当你将鼠标移出时,按钮会返回正常?但结果是位置不同。我建议创建一个变量
,用于存储按钮的x
和y
的位置。是的,所有代码都有效。问题不在于位置,而在于我想要按钮的大小。我举个例子。你知道在“Gmail”或其他任何电子邮件网站上,当你按下“撰写”按钮时,会弹出一个对话框吗?好吧,那是我的按钮。尺寸增加,但位置不变@理查德巴卢尤:你也必须改变地点。通过设置Bounds属性,一次完成所有工作。您认为代码工作正常吗?但结果是位置不同。我建议创建一个变量
,用于存储按钮的x
和y
的位置。是的,所有代码都有效。问题不在于位置,而在于我想要按钮的大小。我举个例子。你知道在“Gmail”或其他任何电子邮件网站上,当你按下“撰写”按钮时,会弹出一个对话框吗?好吧,那是我的按钮。尺寸增加,但位置不变@理查德巴卢尤:你也必须改变地点。通过设置Bounds属性,一次完成所有操作。Handles exec。单击这是什么?我添加了更多说明,我只是创建了一个2按钮的快速示例,其中一个按钮增加了另一个按钮的高度。Exec是按钮的名称。OP从未要求按钮不断增加。。。。。。他想要一个鼠标在上面时可以展开的按钮。你的前任