窗体移动事件中,判断边距,边距小于一定值,就缩到边上去

解决方案 »

  1.   

    知道原理就行了,代码不是挺简单的,不要象
    http://expert.csdn.net/Expert/TopicView1.asp?id=2332940
    那样连原理都不知道呵呵
    private void Form1_MouseLeave(object sender, System.EventArgs e) {
    const int j = 5; // 要故意露出在右上的高度 if (this.Top <1) { //如果当前X 已经是在最顶
    // 并且Y 也已经在最右边
    if (this.Left >= Screen.PrimaryScreen.WorkingArea.Width - this.Width) {
    // 开始往上移
    while(this.Top >= 0-this.Height + j) {
    this.Top --;
    }
    }
    }
    }private void Form1_MouseEnter(object sender, System.EventArgs e) {
    if (this.Top <0) {
    // 这里是移回正常位置的代码你接上面的逆着做就是了
    }
    }
      

  2.   

    取屏幕大小,然后判断窗体的左上角的坐标距离窗体的边缘的距离,如果小于一定的值就把窗体的体积减小,如要恢复,就在鼠标再窗体划过的事件中,加入恢复窗体面积的语句