http://www.codeproject.com/Articles/6741/AppBar-using-C
http://www.codeproject.com/Articles/3728/C-does-Shell-Part

解决方案 »

  1.   

    http://bbs.csdn.net/topics/360057917你应该在窗口被鼠标拖拉(mousemove或者drag,要看你用什么框架来处理UI事件)的事件处理过程中去判断当前的窗口位置与桌面大小的关系。而不是使用Timer。
      

  2.   

    mousemove C#上解释是 鼠标指针移过时发生的事件,你没弄错吧
     drag一类说是拖放控件时的事件,这个好像可以。但又看见了一个move事件,解释是移动控件时发生。我昏了,两个有区别吗
      

  3.   

    效果上那是使用winapi做的窗体动画效果至于检测,没必要timer,qq在上边留了2像素的边框,足够用来触发鼠标移入事件了,至于移出事件更容易收到
      

  4.   

    drag通常就是mousemove控制的。利润你在一个物体上面按下鼠标,然后移动鼠标(这就让物体本身可以捕获mousemove,并且可以知道鼠标分别相对于物体、相对于桌面的位置),这时候物体也跟着移动了。也就是说,虽然鼠标在物体上mousemove,但是它逃不出物体,因为物体是跟着鼠标的移动而移动的。
      

  5.   

    这种隐藏实际上就是把整个窗体移出屏幕,只留了对应底边的几像素的边框(我说的对吗?还望告知)
    这程序测窗体边框与屏幕边界距离时只用了top,left,其他靠top,left和窗体的对应数值加减。难道没有bottom,right属性吗?
    那个top,left到底是哪里到哪里的数值,还望指点。窗体最左到屏幕最左?