如何在垂直调整窗体大小时使窗体捕捉到某些高度?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (5)

我在一个表格上有3个PictureBox,它们相互平铺。该表格的最小值为(502,416),最大值为(502,1080)。

因为用户可以从MenuStrip中选择显示'1','2'0r'3'PictureBoxes一次'3'是底部,'1'是顶部PictureBox。我需要的是当用户向下拖动表单时它会捕捉到下一个PictureBoxes位置,所以它在块中下降这是我到目前为止所做的相当远的工作。

    If Me.Height <= (1079) Then
        Me.Height = (732)

    ElseIf Me.Height <= (732) Then
        Me.Height = (424)
    ElseIf 
    ...
    End If 

我还以为我可能能够弄清楚如果我新的如何创建这样的变量

    If Me.Height <= (1079 to 733) Then
        Me.Height = (732)

我知道这不是正确的语法,但它是一种想法

如果你能从我不太好的描述中理解并指出我正确的方向/代码示例,我将非常感激:)

谢谢您的帮助

提问于
用户回答回答于

您可以尝试使用Select语句:

Select Case Me.Height

    Case 425 To 732
        Me.Height = 424

    Case 733 To 1079
        Me.Height = 732

End Select

回答你的进一步问题。如果您要使用Form Resize事件,您所拥有的任何动画都会变得有趣,因为当您更改表单高度时,它将重新触发事件。就个人而言,如果我是你,我会坚持你最初的想法,捕捉到下一个高度,如果你想要动态形式高度,我会认真研究WPF。但是这里是SubRoutine,我说我会告诉你,我用三个按钮来启动调整大小。如果你没有阻止事件重新运行子程序它会冻结你的计算机,如果你把它放在你的表单调整大小事件中,请小心。

Public Class Form1

    Private Sub Form1_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize
        Me.Text = Me.Height
    End Sub

    Public Sub ChangeFormHeight(fromHeight As Integer, toHeight As Integer)
        If fromHeight > toHeight Then
            For newHeight As Integer = fromHeight To toHeight Step -1
                Me.Height = newHeight
            Next
        Else
            For newHeight As Integer = fromHeight To toHeight
                Me.Height = newHeight
            Next
        End If
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        ChangeFormHeight(Me.Height, 424)
    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        ChangeFormHeight(Me.Height, 733)
    End Sub

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        ChangeFormHeight(Me.Height, 1080)
    End Sub

End Class

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    27 粉丝7 提问5 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答
  • 富有想象力的人

    2 粉丝0 提问1 回答

扫码关注云+社区

领取腾讯云代金券