日期:2014-05-19  浏览次数:20948 次

如何实现和QQ一样的窗体停靠方式(C#)
如题,,我想做当窗体移到屏幕边缘,,就自动缩进去,只留出一小部份.....请高手赐教...感激不尽....
也可发代码到邮箱:lc328@163.com

------解决方案--------------------
摘录:《程序员秘书》--源代码--用户界面--窗体的动画效果
轻轻松松开发软件,详见:http://www.psec.net.cn
《程序员秘书》功能展示Flash动画:
http://www.psec.net.cn/psec/程序员秘书.zip

以下代码,再进行一些加工,就可以像QQ一样

1、在 Microsoft Visual Studio .NET 的“文件”菜单上,单击“新建”,然后单击“项目”。
2、在“新建项目”对话框中,选择“Visual C#项目”,再选择“Windows 应用程序”模板。
3、键入 WindowsApp 作为该程序的名称,然后单击确定。
4、在Form1.cs的代码设计器中,引用添加如下代码
using System.Runtime.InteropServices;
5、在Form1.cs的视图设计器中,选中Form1,在属性框中选中事件,双击Load,在Form1.cs的代码设计器中,添加修改如下代码
private void Form1_Load(object sender, EventArgs e)
{
AnimateWindow(this.Handle, 200, AW_ACTIVATE | AW_VER_POSITIVE);//200指明动画持续的时间(以微秒计),完成一个动画的标准时间为200微秒。
}
6、在Form1.cs的视图设计器中,选中Form1,在属性框中选中事件,双击FormClosing,在Form1.cs的代码设计器中,添加修改如下代码
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
AnimateWindow(this.Handle, 200, AW_HIDE | AW_VER_NEGATIVE);
}
7、在Form1.cs的代码设计器中,添加修改如下代码
[DllImport( "user32 ")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
private const int AW_HOR_POSITIVE = 0x0001;//从左到右打开窗口
private const int AW_HOR_NEGATIVE = 0x0002;//从右到左打开窗口
private const int AW_VER_POSITIVE = 0x0004;//从上到下打开窗口
private const int AW_VER_NEGATIVE = 0x0008;//从下到上打开窗口
private const int AW_CENTER = 0x0010;//从中央打开
private const int AW_HIDE = 0x10000;//隐藏窗体
private const int AW_ACTIVATE = 0x20000;//显示窗体
private const int AW_SLIDE = 0x40000;
private const int AW_BLEND = 0x80000;//淡入淡出效果
8、编译

------解决方案--------------------
这个已经有人做好了,我把他做的发给你吧。注意接收
------解决方案--------------------
http://www.cnblogs.com/Red_angelX/archive/2007/05/15/747417.html