zoukankan      html  css  js  c++  java
  • 【.Net】鼠标点击控制鼠标活动范围 ClipCursor

    可以使用API ClipCursor,如果你不嫌麻烦的话。

    以下方法:

        Private Sub Form1_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
            Dim X, Y As Integer
            Dim loc As System.Drawing.Point = Me.Location + Me.MonthCalendar1.Location
            X = (Me.Width - Me.ClientRectangle.Width) / 2
            Y = (Me.Height - Me.ClientRectangle.Height - SystemInformation.CaptionHeight) / 2 + SystemInformation.CaptionHeight
            loc.X = loc.X + X
            loc.Y = loc.Y + Y
    
            System.Windows.Forms.Cursor.Clip = New Rectangle(loc, Me.MonthCalendar1.Size)
        End Sub
    
        Private Sub Form1_MouseUp(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
            System.Windows.Forms.Cursor.Clip = System.Windows.Forms.Screen.PrimaryScreen.Bounds
        End Sub
    View Code

    1。MouseDown事件控制鼠标范围,MouseUp事件解除控制。

    2。System.Windows.Forms.Cursor.Clip控制鼠标活动范围。

    3。使用(Me.Width - Me.ClientRectangle.Width) / 2的方式来获取位置,必须遍历控件所在的所有容器。

    4。算Y轴坐标时要注意窗体的标题栏,用SystemInformation.CaptionHeight获取标题栏高度。

    5。如果有TabControl这种东西,计算高度会很麻烦。如果有好办法请告诉我。我的解决办法是慢慢试。

  • 相关阅读:
    Java 插入排序
    Java 浮点型与双精度数值比较
    Java 包装类Integer的值比较
    ORA-00942 table or view does not exist
    logging模块
    面向对象
    模块和包
    异常处理
    序列化模块
    css3选择器
  • 原文地址:https://www.cnblogs.com/TonyZhao/p/5192620.html
Copyright © 2011-2022 走看看