簡體   English   中英

調整圖片框大小並保持寬高比(1:1)vb.net

[英]Resize picturebox and maintain aspect ratio (1:1) vb.net

我有一個要調整大小的圖片框,我需要它保持1:1的縱橫比。 基本上,寬度和高度都與用戶調整大小相同。 調整大小可以正常工作,但無法保持寬高比。 我如何才能更改為包括保持寬高比?

調整控件大小時,這就是所謂的

    Private Sub pbsMouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    If mouseOnHandle Then
        ReleaseCapture()
        SendMessage(activeControl.Handle, WM_NCLBUTTONDOWN, CInt(DirectCast(sender, PictureBox).Tag), 0)
        If GetCapture = 0 Then mouseOnHandle = False
        Application.DoEvents()
    End If
End Sub

ReleaseCapture()

    <DllImport("user32.dll")> _
Public Shared Function ReleaseCapture() As Boolean
End Function

要素和功能

    Public Declare Function GetCapture Lib "user32" Alias "GetCapture" () As Integer

Private Const WM_NCLBUTTONDOWN As Integer = &HA1

我最終將此功能添加到控件的調整大小事件中

    Private Sub maintainAspectRatio()
    Dim width As Integer = activeControl.Width
    Dim height As Integer = activeControl.Height

    If width > height Then
        activeControl.Height = activeControl.Width
    ElseIf height > width Then
        activeControl.Width = activeControl.Height
    End If
End Sub

這為我解決了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM