WinForm 界面美化

WinForm 界面美化主界面的扁平化更改winform自带的MainForm窗体属性将主窗体FormBorderStyle更改为None,这样就得到了一个无边框的窗体调节背景色,找到自己喜欢的颜色,输入到BackColor属性中在主窗体的Mouse_Down中添加如下事件,实现窗体随意拖动:[DllImport(“user32.dll”)]publicstaticexternboolReleaseCapture();[DllImport(“user32.dll”)]publicstatic

大家好,又见面了,我是你们的朋友全栈君。

主界面的扁平化

  1. 更改winform自带的MainForm窗体属性
    将主窗体FormBorderStyle更改为None,这样就得到了一个无边框的窗体
    在这里插入图片描述
    调节背景色,找到自己喜欢的颜色,输入到BackColor属性中
    在这里插入图片描述
    在主窗体的Mouse_Down中添加如下事件,实现窗体随意拖动:
    在这里插入图片描述
[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 Form6_MouseDown(object sender, MouseEventArgs e)
{ 
   
    ReleaseCapture();
    SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);       
}

在这里插入图片描述
添加最小化、退出事件的按钮,背景色BackColor和字体色Forecolor设置为与界面颜色较为搭配的,将按钮的FlatStyle设置为Popup,它会自己随着界面风格调整
在这里插入图片描述
最小化和退出的代码如下:

private void min_Click(object sender, EventArgs e)
{ 
   
    this.WindowState = FormWindowState.Minimized;
}

private void exit_Click(object sender, EventArgs e)
{ 
   

    this.Close();
}

基本控件实现美化

  • tabcontrol美化
    通过tabcontrol的drawitem事件,来达到改变tabpage字体、字体颜色以及背景色的目的
    在这里插入图片描述
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{ 
   
	   SolidBrush back = new SolidBrush(Color.FromArgb(45, 45, 48));
	   SolidBrush white = new SolidBrush(Color.FromArgb(122, 193, 255));
	   Rectangle rec = tabControl1.GetTabRect(0);
	   e.Graphics.FillRectangle(back, rec);
	   Rectangle rec1 = tabControl1.GetTabRect(1);
	   e.Graphics.FillRectangle(back, rec1);
	   StringFormat sf = new StringFormat();
	   sf.Alignment = StringAlignment.Center;
	   for (int i = 0; i < tabControl1.TabPages.Count; i++)
	   { 
   
	       Rectangle rec2 = tabControl1.GetTabRect(i);
	       e.Graphics.DrawString(tabControl1.TabPages[i].Text, new Font("微软雅黑", 9), white, rec2, sf);
	   }
}       
  • DataGridview美化
    通过设置ColumnHeadersDefaultCellStyle,来改变列标题的背景、字体和颜色
    在这里插入图片描述
    在这里插入图片描述
    通过设置DefaultCellStyle,来改变单元格背景、字体和颜色
    在这里插入图片描述
    在这里插入图片描述
    通过设置RowHeadersDefaultCellStyle,来改变行标题的背景、字体和颜色
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140059.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中map转json[通俗易懂]

    java中map转json[通俗易懂]在日常的使用中,我们一般会遇到map转json,如果遍历的话会浪费大量的时间,其实我们拥有这样的jar包Themethod ***isundefinedforthetypeJSONObject缺哪个包——json-lib.jar这样还是不行的需要一个依赖的jar包要不然会报错java.lang.ClassNotFoundException:

    2022年6月20日
    55
  • struts2使用AbstractInterceptor实现拦截器[通俗易懂]

    struts2使用AbstractInterceptor实现拦截器[通俗易懂]2.使用abstractinterceptor抽象类来实现自定义拦截器完成用户是否登陆判断1.写个类继承AbstractInterceptorpublicclassMyintercetorextendsAbstractInterceptor{}2.重写interceptor方法//下列事例是做用户名是否登陆的验证publicStringinterce

    2022年5月14日
    172
  • Linux中创建自己的MOTD[通俗易懂]

    Linux中创建自己的MOTD[通俗易懂]1)什么是MOTDmotd:是英文缩写messageoftheday。译文是:每日提示信息,问候报文。那你为什么要用MOTD?其实目的很简单,是提示进入系统的用户注意事项,或提示系统运行的概

    2022年8月3日
    26
  • chrome调试appweb_调试应用是什么意思

    chrome调试appweb_调试应用是什么意思googleDevice使用

    2025年7月24日
    0
  • 公网IP和内网IP区别

    公网IP和内网IP区别什么是内网IP:一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IPSharing),使用整个公司或学校的机器都能够访问互联网。而这些企业或学校的机器使用的IP地址就是内网IP,内网IP是在规划IPv4协议时,考虑到IP地址资源可能不足,就专门为内部网设计私有IP地址(或称之为保留地址),一般常用内网IP地址都是这种形式的:10.X.X.X、172.16.X.X-1…

    2022年4月30日
    46
  • 算法复杂度比较「建议收藏」

    算法复杂度比较「建议收藏」常见函数算法时间复杂度由小到大依次为:Ο(1)<Ο(loga^n)<Ο(n)<Ο(nlogn)<Ο(n2)<Ο(n3)<Ο(n!)<Ο(N^n)常见算法复杂度对比快速排序nlogn堆排序nlogn冒泡排序在改良的冒泡下最优时间复杂度为n插入排序最优下n选择排序n*n归并nlogn对N个数进行排序,在各自最优条件下以下算法复杂度最…

    2025年7月22日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号