首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当垂直调整窗体大小时,如何使窗体对齐到一定的高度?

当垂直调整窗体大小时,如何使窗体对齐到一定的高度?
EN

Stack Overflow用户
提问于 2012-06-12 17:48:24
回答 1查看 420关注 0票数 0

我有一个表单上的3个PictureBoxes是平铺在彼此的顶部。表单的最小值为(502,416),最大值为(502,1080)。

因为用户可以从MenuStrip中进行选择以一次显示“1”、“2”或“3”PictureBoxes,“3”是底部,而“1”是顶部PictureBox。我需要的是当用户拖下表单,它捕捉到下一个PictureBoxes位置,所以它在块中下降这是我到目前为止,这是相当远的工作。

代码语言:javascript
复制
    If Me.Height <= (1079) Then
        Me.Height = (732)

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

我还想,如果我知道如何创建这样的变量,我也许能弄清楚

代码语言:javascript
复制
    If Me.Height <= (1079 to 733) Then
        Me.Height = (732)

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

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

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-12 18:37:44

您可以尝试使用Select语句:

代码语言:javascript
复制
Select Case Me.Height

    Case 425 To 732
        Me.Height = 424

    Case 733 To 1079
        Me.Height = 732

End Select

来回答你进一步的问题。如果您要使用Form Resize事件,您拥有的任何动画都将变得有趣,因为当您更改窗体高度时,它将重新触发该事件。就我个人而言,如果我是你,我会留在你最初的想法,捕捉到下一个高度,如果你想要动画的形式高度,我会认真研究WPF。但这是我要展示的SubRoutine,我使用了三个按钮来初始化大小调整。小心,如果你把它放在你的窗体调整事件,如果你不阻止事件重新运行子例程,它会冻结你的计算机。

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10994157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档