【问题标题】:Panel Location Sliding Effect in VB.NETVB.NET中的面板位置滑动效果
【发布时间】:2014-10-03 16:55:12
【问题描述】:

我的代码有什么问题?我的语法是正确的,逻辑和概念是正确的。 但是当我运行程序并按下按钮(使面板向上滑动)时,面板不会停止。即使我在计时器内设置了条件。

这是代码;

Private Sub btn_existing_Click(sender As Object, e As EventArgs) Handles btn_existing.Click
        timerPanelSlider3.Start()
        pnl_info1.Enabled = False
        pnl_options.Enabled = False
End Sub

Private Sub timerPanelSlider3_Tick(sender As Object, e As EventArgs) Handles timerPanelSlider3.Tick
    yy -= 5
    pnl_existing.Location = New Point(4, yy)
    'pnl_existing.BringToFront()

    If pnl_existing.Location.Y = 225 Then
        timerPanelSlider3.Stop()
    End If

End Sub

【问题讨论】:

  • 那么pnl_existing.Location.Y 绝对不能 = 225。请调试您的工作。
  • 您将位置减 5,但仅测试何时恰好是 225 停止。如果递减导致它超过该数量怎么办?
  • 你是什么意思@plutonix
  • MsgBox("225")始终显示带有文本 225 的消息框。
  • ...并学习使用断点 - MsgBox 是一种糟糕的代码调试方式

标签: vb.net timer panels


【解决方案1】:

您的Location.Y 没有达到 225,您可以检查它是否低于 225。或者将其起始位置更改为 625。

Private Sub btn_existing_Click(sender As Object, e As EventArgs) Handles btn_existing.Click
    timerPanelSlider3.Start()
    pnl_info1.Enabled = False
    pnl_options.Enabled = False
End Sub

Private Sub timerPanelSlider3_Tick(sender As Object, e As EventArgs) Handles timerPanelSlider3.Tick
 yy -= 5
 pnl_existing.Location = New Point(4, yy)
'pnl_existing.BringToFront()

 If pnl_existing.Location.Y < 225 Then
    timerPanelSlider3.Stop()
 End If

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 2016-07-15
    • 2016-07-26
    • 2012-11-14
    • 2011-02-09
    相关资源
    最近更新 更多