WinForm中窗体定位中使用DesktopLocation属性的优点
2017-02-08 15:06
288 查看
先看看区别:
Location 是相对于屏幕而言的,而 DesktopLocation 是相对于桌面工作区——也就是除任务栏以外的屏幕区域。
他们都是以窗体左上角为标点来定位的
例:this.Location =new Point(50,50);
this.DesktopLocation =new Point(50,50);
当用location时是在屏幕中(50,50)的坐标,而当用DesktopLocation时,如果你的任务栏在屏幕上面的话,他会距任务栏(50,50)的坐标。
例如:要实现某个窗体(无标题窗体)不能被拖拽出屏幕边缘,也不能被任务栏遮盖。
1.如果使用this.Location定位窗体,就必须考虑计算任务栏的大小,同时还要考虑任务栏是否在左,上,右,下四个贴边位置,实现较麻烦。尤其是确定任务栏贴哪个边,有什么好办法么?
2.使用 DesktopLocation 属性,就简单多了,只需考虑SystemInformation.WorkingArea的边界就足够了。
多学一点,总会带来回报!
逆向思考,当Location不等于DesktopLocation时说明什么?客官你来免费回答。
Location 是相对于屏幕而言的,而 DesktopLocation 是相对于桌面工作区——也就是除任务栏以外的屏幕区域。
他们都是以窗体左上角为标点来定位的
例:this.Location =new Point(50,50);
this.DesktopLocation =new Point(50,50);
当用location时是在屏幕中(50,50)的坐标,而当用DesktopLocation时,如果你的任务栏在屏幕上面的话,他会距任务栏(50,50)的坐标。
例如:要实现某个窗体(无标题窗体)不能被拖拽出屏幕边缘,也不能被任务栏遮盖。
1.如果使用this.Location定位窗体,就必须考虑计算任务栏的大小,同时还要考虑任务栏是否在左,上,右,下四个贴边位置,实现较麻烦。尤其是确定任务栏贴哪个边,有什么好办法么?
2.使用 DesktopLocation 属性,就简单多了,只需考虑SystemInformation.WorkingArea的边界就足够了。
多学一点,总会带来回报!
逆向思考,当Location不等于DesktopLocation时说明什么?客官你来免费回答。
相关文章推荐
- C# Winform使用线程改变窗体控件的属性
- winform窗体间传值(使用Tag属性)
- [CSS]使用绝对定位属性来实现CSS内部子容器高度随着外部父容器高度变化而变化
- WinForm--(子窗体改变父窗体中控件的属性-委托)
- winform 窗体属性
- Winform窗体传值的几种方式(属性赋值,委托,事件)
- Winform中多国语言窗体的设计以及.NET中资源文件的使用
- Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,PopupOverlay的使用
- Winform中使用模态窗体Demo
- C#WinForm窗体属性
- css中关于定位属性position为fixed的使用记载
- Android 使用百度地图SDK 定位和显示基础地图常见错误 locationclient.start()和mapview is null等等
- VR系列——Oculus Audio sdk文档:五、Wwise集成Oculus声场定位指南(2)——在Wwise中如何使用Oculus声场定位及全局属性
- XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。
- Winform中多国语言窗体的设计以及.NET中资源文件的使用
- Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,PopupOverlay的使用
- c# WinForm 窗体美化(二)--关于东日skinbuilder软件生成皮肤的使用
- winform 子窗体定位
- 使用CSS布局定位属性轻松实现优美站点布局
- 使用C#实现WinForm窗体的动画效果