鼠标滚轮事件以增加高度

Hui Liu-MSFT 46,961 信誉分 Microsoft 供应商
2024-05-14T08:50:03.63+00:00

使用鼠标滚轮事件增加 PictureBox 的高度,反之亦然。 问题是我想以最大 h =100 放大并以最小 h =30 缩小,而不是 无穷大我的尝试

MouseWheel Event
Dim factor As Double = 1.0
Dim mwe As HandledMouseEventArgs = DirectCast(e, HandledMouseEventArgs)
        If PIC_MALE.Height <= 30 Or PIC_MALE.Height >= 100 Then
            mwe.Handled = True
        End If

        If e.Delta > 0 Then

            factor += (increment / 100.0)
            PIC_MALE.Height += CInt(PIC_MALE.Height * e.Delta / 1000)
            PIC_MALE.Refresh()
        Else

            factor -= (increment / 100.0)
            PIC_MALE.Height += CInt(PIC_MALE.Height * e.Delta / 1000)
            PIC_MALE.Refresh()
        End If

Note:此问题总结整理于:mouse Wheel event to increase the height

VB
VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
82 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 41,116 信誉分 Microsoft 供应商
    2024-05-15T01:22:02.3266667+00:00

    我对您的代码进行了一些修改,并得到了下面的结果。 添加判断以保证最大值和最小值。 这是我的代码。163834-20221111.gif

    Public Sub Mouse_Scroll(sender As Object, e As MouseEventArgs) Handles Me.MouseWheel  
        If e.Delta > 0 Then  
            If PIC_MALE.Height + CInt(PIC_MALE.Height * e.Delta / 1000) > 100 Then  
                PIC_MALE.Height = 100  
            Else  
                PIC_MALE.Height += CInt(PIC_MALE.Height * e.Delta / 1000)  
            End If  
            PIC_MALE.Refresh()  
        Else  
            If PIC_MALE.Height + CInt(PIC_MALE.Height * e.Delta / 1000) < 30 Then  
                PIC_MALE.Height = 30  
            Else  
                PIC_MALE.Height += CInt(PIC_MALE.Height * e.Delta / 1000)  
            End If  
        End If  
        Label1.Text = PIC_MALE.Height  
    End Sub  
    

    希望上面的代码可能会有所帮助。


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助