最近一直在改软件UI,源码,欢迎讨论
一、简介
之前用的一个模板用的是office风格的,但是奈何最近做的系统功能并不是很多,菜单栏显得很空洞,BOSS严令整改。遂改变思路想做一个类似360的UI,但是BOSS还是不满意,于是改来改去改成了现在这个样子,除了使用winform的原生控件,还使用了DevExpress插件。
二、构成
主要分为三个部分,上下各一个panel,中间主要是用了DevExpress插件的Dock Manager以及documentManager控件。这两个控件的详细使用方式也不做介绍了,主要记录一些常见的问题2.1 移动窗体
为了从头开始设计UI将Form改为无边框模式,最开始使用的是想利用MouseDown、MouseMove等事件来实现窗体的移动,但是效果差强人意,当鼠标拖动过快使会使鼠标在控件上有一段位移,下面这种方法说实话我不是很懂,但是确实比之前的方法要好不少。[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 panel_Top_MouseDown(object sender, MouseEventArgs e) //panel_Top为最上部的panel{ReleaseCapture();SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);}