c# 调用moveto & setwindowpos 问题

amonsul 2018-04-13 06:27:36
写了一个小工具,用于移动窗口和缩放窗口,不过移动窗口遇到个问题,移动窗口到边缘时(比如x=0)窗口左边总有窗口的外边距间隔

下面两张图,左边是我小工具窗口移动到左上角,左边留有边距距离,右边是Tim的窗口移动到右上角,上边和右边都有边距(自绘的窗口)
我该怎么获取窗口的外边距大小,使移动时能减去外边距大小?
SetWindowPos(hwnd, (IntPtr)SpecialWindowHandles.HWND_TOP, 0, 0, 0, 0, SetWindowPosFlags.SWP_NOSIZE);
MoveTo(hwnd, 0, 0);

...全文
493 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2018-04-13
  • 打赏
  • 举报
回复
修改 formborderstyle为none试一试
amonsul 2018-04-13
  • 打赏
  • 举报
回复
引用 1 楼 From_TaiWan 的回复:
修改 formborderstyle为none试一试

不是我要的效果,对winform的程序,会隐藏掉边框和标题栏,对自绘窗口没任何作用
可以通过移动到x负值,使窗口看似紧贴边缘,还是回到我问的问题,要怎么取得外边距大小
我用spy++可以看到窗口属性里,客户矩形的x起始坐标就是外边距大小

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧