【NCRE】C# WindowForm实现屏幕最顶端拖动
来源:互联网 发布:syse Linux 进入图形化 编辑:程序博客网 时间:2024/04/29 10:37
需求:
窗体置顶,同时显示在任何窗体的最上方,在电脑屏幕上实现左右拖拽。
代码:
<span style="font-size:24px;"> private Point mouseOffset; //记录鼠标指针的坐标 private bool isMouseDown = false; //记录鼠标按键是否按下 private bool isBoundary = false; //是否在边界上 private void frmxuanfukuang_MouseDown_1(object sender, MouseEventArgs e) { int xOffset; //int yOffset; if (e.Button == MouseButtons.Left) { xOffset = -e.X - SystemInformation.FrameBorderSize.Width; //yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height; mouseOffset = new Point(xOffset, 0); //this.MouseMove += frmxuanfukuang_MouseMove; isBoundary = false; isMouseDown = true; } } private void frmxuanfukuang_MouseMove_1(object sender, MouseEventArgs e) { Rectangle ScreenArea = System.Windows.Forms.Screen.GetWorkingArea(this); int screenWidth = ScreenArea.Width; //屏幕宽度 Point mousePos = Control.MousePosition; mousePos.Offset(mouseOffset.X, 0); if (this.Location.X < 0) { this.Location = new Point(10, this.Location.Y); isMouseDown = false; } if (this.Location.X + this.Width > screenWidth) { this.Location = new Point(screenWidth - 10 - this.Width, this.Location.Y); isMouseDown = false; } if (isMouseDown == true) { mousePos.Y = 0; Location = mousePos; } } private void frmxuanfukuang_MouseUp_1(object sender, MouseEventArgs e) { // 修改鼠标状态isMouseDown的值 // 确保只有鼠标左键按下并移动时,才移动窗体 if (e.Button == MouseButtons.Left) { //this.MouseMove -= frmxuanfukuang_MouseMove; isMouseDown = false; } } //设置窗体显示状态 [DllImport("user32.dll")] private static extern int SetWindowPos(IntPtr hwnd, int hWndInsertAfter, int x, int y, int cx, int cy, int wFlags); </span>
需要绑定上面的事件。
1 0
- 【NCRE】C# WindowForm实现屏幕最顶端拖动
- 【NCRE】WindowForm的那些属性
- C# WindowForm 三句话实现简单计算器
- 【NCRE项目】C#实现TabControl切换打开不同文件夹
- 【NCRE】C#实现表格首列CheckBox全选功能
- RecyclerView上下拖动条目排序,左右划出屏幕删除条目的最简单的实现
- C# 实现拖动控件
- C# 窗口实现拖动
- NCRE。。。。。。
- c#实现控件拖动效果
- C#中实现窗口拖动
- c#实现按钮拖动效果
- c# 实现鼠标拖动form
- C# windowform Skype發送信息
- C# windowform Skype發送信息
- c# WindowForm练习项目主窗体设计
- C# WindowForm中ListBox 自动滚动
- 最笨的将一物体在屏幕范围内拖动
- 方位介词辨异
- git 学习网址
- 蓝懿ios 技术内容和心得分享 12.27
- Eclipse基本常规设置
- tomcat中配置二级域名
- 【NCRE】C# WindowForm实现屏幕最顶端拖动
- Android 检查设备是否存在 导航栏 NavigationBar
- 每日一vim(4)多文件编辑
- Linxu笔记(11): Linux系统管理常用命令
- 判断webbrowser页面是否完全加载完毕的方法
- Android笔试总结
- java.util.LinkedList源码分析
- Unix Domain Socket– IPC通信机制
- 使用Bmob ---扩展服务(Android消息推送)