如题,最近在做个小程序,想实现下磁性窗体的效果,但遇到蛮多问题,查了好久都没什么好的例子,现在还只能做靠近屏幕边框时被吸住的效果 哪位大虾有这方面的效果给个例子啊
贴进来 或发我邮箱里都可以 [email protected]或者[email protected] 谢啦
贴进来 或发我邮箱里都可以 [email protected]或者[email protected] 谢啦
解决方案 »
- assemly 与dllimport的区别
- 怎么通过ListView的索引,获得这个索引存的Bitmap
- 串口小问题高手请进
- 怎样做开发环境插件,效果其他面板一样?
- 关于conn.CreateCommand的疑问
- 导致“未能加载程序集“App_Web_oi3vklbf”。请确保在访问该页之前已经编译了此程序集” 之FTP借鉴篇
- 消息队列可以清除队列中的一条信息吗?
- 关于ArrayList复制的问题
- 高手指点短信猫问题!向串口写了AT命令,为什么串口没响应,读到的东西是发出去的命令,已经考虑了延时!
- 招聘C#程序员,工作地点北京
- 目前在做个用Socket的ERP小软件。问题如下
- string类型在枚举中赋值无效
截获主窗体的WM_MOVE(窗体移动)消息,同时设置附属窗体的位置。代码如下:
protected override void WndProc(ref Message m)
{
const int WM_MOVE = 0x3;
if (m.Msg == WM_MOVE )
{
if (frm != null)
{
frm.Left = this.Left + this.Width;
frm.Top = this.Top;
return;
}
}
base.WndProc(ref m);
}
frm即附属窗体的对象
这段代码我没做测试
还有主窗体和子窗体相吸的效果也出了点问题,我用的是定位坐标,但这样的话它就不能超过那个坐标了 比如说在做横向的时候确定的是窗体的X轴坐标 当他们吸引了以后,窗体的X轴坐标就不能再超过这个坐标了 高手来指点下啊
{
if (frm != null)
{
frm.SetDesktopLocation(this.Left + this.Width,this.Top);
//return; 这里绝对不能return!
}
base.WndProc(ref m);//这个一定要执行到!
多看看MSDN或Windows API参考吧...