• 【.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-web 学习感触一界面传值
    Java-web 学习感触一知识储备
    基于”Layui"框架构建前端页面
    HNC公司销售合同管理系统开发反思
    第十六周总结
    个人课程总结
    第十五周总结
  • 原文地址:https://www.cnblogs.com/TonyZhao/p/5192620.html
Copyright © 2020-2023  润新知