首页
归档
友情链接
留言
更多
关于
动态
Search
1
[分享栈]centos7安装gcc10.2.0
7,077 阅读
2
[技术栈]CRC校验原理及C#代码实现CRC16、CRC32计算FCS校验码
6,701 阅读
3
[技术栈]C#利用Luhn算法(模10算法)对IMEI校验
6,314 阅读
4
[分享栈]esxi6.7虚拟机安装omv(openmediavault)教程
5,765 阅读
5
[分享栈]centos7安装python3.8.5
4,830 阅读
分享栈
技术栈
经验栈
登录
Search
标签搜索
C#
centos
winform
仪器
IPV4
IPV6
测速
crc
crc16
crc32
fcs
luhn
模10
算法
sql
gcc
python
紫光展锐
omv
openmediavault
武小栈
累计撰写
21
篇文章
累计收到
37
条评论
首页
栏目
分享栈
技术栈
经验栈
页面
归档
友情链接
留言
关于
动态
搜索到
2
篇与
的结果
2021-03-30
[分享栈]Winform实现无边框无标题栏拖动的两种方式
[分享栈]Winform实现无边框无标题栏拖动的两种方式[本文来至于微信公众号“dotNet工控上位机”]Winform作为桌面应用程序的一个代表,可以说是C#初学者快速入门最好的一种方式,然而随着我们的开发能力的提升,我们对UI界面的要求变得越来越高,于是我们开始不断优化、升级我们的UI界面。Winform无边框设计是我们常用的一种方式,无边框设计意味着没有了应用程序的标题栏,也就无法直接拖动,今天主要介绍两种实现无边框拖动的方式。第一种方式:代码实现Point mPoint; private void Panel_MouseDown(object sender, MouseEventArgs e) { mPoint = new Point(e.X, e.Y); } private void Panel_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.Location = new Point(this.Location.X + e.X - mPoint.X, this.Location.Y + e.Y - mPoint.Y); } }这种方式使用的是自己写代码实现,将这段代码复制到界面代码中,然后选择窗体中的一个控件,比如Panel或者Label,将它们的MouseDown事件绑定代码中的MouseDown事件,MouseMove事件绑定代码中的MouseMove事件,即可。第二种方式:Windows API[DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); public const int WM_SYSCOMMAND = 0x0112; public const int SC_MOVE = 0xF010; public const int HTCAPTION = 0x0002; private void TopPanel_MouseDown(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); }这种方式使用的是Windows底层的API函数,同样将这段代码复制到界面代码中,然后选择窗体中的一个控件,比如Panel或者Label,将它们的MouseDown事件绑定代码中的MouseDown事件,即可。
2021年03月30日
1,221 阅读
1 评论
0 点赞
2021-02-04
[分享栈]winform根据控件name获取到控件对象
1. 前言今天武小栈接到了一个产线工具一拖多的更改需求,就引出了今天的总结,C#开发winform项目根据控件name获取到控件对象。2. 正文查看Form.ControlCollection类可以看到提供了两种方法:2.1 Item属性Label label = this.Controls["label"+(i+1)] as Label;2.2 Find方法Label label = this.Controls.Find("label" + (i + 1),true)[0] as Label3. 注意Find()函数这里第二个参数为bool型,指定是否在所有子类控件中查找。这里引出了第一种方式查找控件仅在当前控件的第一代子控件查找,第二种方式当第二个参数为true时,在所有代子类中查找控件,我这里猜一下里面是一个嵌套循环。根据实际需求选择即可。
2021年02月04日
1,026 阅读
0 评论
0 点赞