【C#】贴边隐藏

版权声明:我的博客我做主! https://blog.csdn.net/lk1822791193/article/details/85244794

思路

拿向上贴边隐藏举例:

通过判断窗体上边框的坐标,来判断窗体是否贴边,然后通过窗体的向上移动,实现隐藏!

窗体坐标的机制:

当窗体向上贴边的时候,它的Top坐标就为0,再向上走,就是负数,其他坐标也是这样的。

代码

两行代码实现隐藏:

//窗体隐藏的方法
//鼠标移出事件
private void from_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
{
    //三个条件判断
    // 1. 窗体Top坐标小于2时候(隐藏触发的条件)
    // 2. Top的坐标>-Height+3(隐藏停止的条件,+3是为了露出3像素的据类,方便用户找到隐藏的窗体)
    // 3. IsMouseOver 鼠标不在窗体上的时候
    while (Top <= 2 && Top > -Height + 3 && !IsMouseOver)
    {
        //窗体Top不断-1
        Top -= 1;
    }
            
}
//窗体显示方法
//鼠标进入窗体事件
private void from_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
{
    //如果窗体的上坐标小于-1
    // 解释:当窗体的Top坐标 =-1 的时候,窗体就不向下移动了
    //      这样就解决了,窗体上下跳的问题
    while (this.Top < -1 )
    //窗体的上坐标不断 +1
    this.Top += 1;
}

别看这几句代码,够你研究一会,但是研究完了,思路清晰了,其实也就很简单了!嘿嘿!

感谢大家阅读,如有不足,欢迎指出!感觉有所收获,点个赞鼓励一下!

猜你喜欢

转载自blog.csdn.net/lk1822791193/article/details/85244794