winforms界面小技巧1

简介: winforms界面小技巧1

1、去掉button的边框线:设置FlatStyle=Flat,以及FlatAppearance的BorderSize=0


2、重绘groupbox的边界线


private void groupBox1_Paint(object sender, PaintEventArgs e)
{
     e.Graphics.Clear(groupBox1.BackColor);
     e.Graphics.DrawString(groupBox1.Text, groupBox1.Font, Brushes.Black, 10, 1);
     e.Graphics.DrawLine(Pens.Black, 1, 7, 8, 7);
     e.Graphics.DrawLine(Pens.Black, e.Graphics.MeasureString(groupBox1.Text, groupBox1.Font).Width + 8, 7, groupBox1.Width - 2, 7);
     e.Graphics.DrawLine(Pens.Black, 1, 7, 1, groupBox1.Height - 2);
     e.Graphics.DrawLine(Pens.Black, 1, groupBox1.Height - 2, groupBox1.Width - 2, groupBox1.Height - 2);
     e.Graphics.DrawLine(Pens.Black, groupBox1.Width - 2, groupBox1.Height - 2, groupBox1.Width - 2, 7);
}

3、重回渐变背景

private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Color FColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(147)))), ((int)(((byte)(201)))));
            Color TColor = System.Drawing.Color.FromArgb(((int)(((byte)(84)))), ((int)(((byte)(42)))), ((int)(((byte)(113)))));
            Brush b = new LinearGradientBrush(this.tableLayoutPanel1.ClientRectangle, FColor, TColor, LinearGradientMode.Vertical);// .ForwardDiagonal);
            g.FillRectangle(b, this.tableLayoutPanel1.ClientRectangle);
        }
        private void btn_status_Paint(object sender, PaintEventArgs e)
        {
            Bitmap backimg = new Bitmap(btn_status.Width, btn_status.Height);
            Graphics g = Graphics.FromImage(backimg); ;
            Color FColor = System.Drawing.Color.Lavender;
            Color TColor = System.Drawing.Color.FromArgb(((int)(((byte)(184)))), ((int)(((byte)(147)))), ((int)(((byte)(201)))));
            Brush b = new LinearGradientBrush(this.btn_status.ClientRectangle, FColor, TColor, LinearGradientMode.Vertical);// .ForwardDiagonal);
            g.FillRectangle(b, this.btn_status.ClientRectangle);
            btn_status.BackgroundImage = backimg;
            //Graphics g = e.Graphics;
            //LinearGradientBrush myBrush = new LinearGradientBrush(this.btn_status.ClientRectangle, Color.White, Color.Blue, LinearGradientMode.Vertical);
            //g.FillRectangle(myBrush, this.btn_status.ClientRectangle);
        }

4、更改listview的某个cell的背景,并消除横向滑动条


ListViewItem item = new ListViewItem();
item.SubItems[0].Text = DateTime.Now.ToString("yyyy-MM-dd hh:MM:ss");
item.SubItems.Add(attention[i]);
item.UseItemStyleForSubItems = false;
item.SubItems[1].BackColor = Color.CornflowerBlue;
listView1.Items.Add(item);
// 第一列宽度 + 第二列宽度 = 工作区宽度
listView1.Columns[1].Width = listView1.ClientSize.Width - listView1.Columns[0].Width;



 


相关文章
|
11月前
|
C++
Visual Studio Winform窗体控件Menustrip
Visual Studio Winform窗体控件Menustrip
136 0
|
Android开发 iOS开发 UED
[UWP]浅谈按钮设计
原文:[UWP]浅谈按钮设计 一时兴起想谈谈UWP按钮的设计。 按钮是UI中最重要的元素之一,可能也是用得最多的交互元素。好的按钮设计可以有效提高用户体验,构造让人眼前一亮的UI。而且按钮通常不会影响布局,小小的按钮无论怎么改也不会对性能有多大影响,所以不少注重细节的设计师最为热衷修改按钮。
1462 0
|
C#
WPF 控件库——仿制Windows10的进度条
原文:WPF 控件库——仿制Windows10的进度条 一、其实有现成的   先来看看Windows10进度条的两种模式:       网上有不少介绍仿制Windows10进度条的文章,也都实现了不错的效果。
1345 0
|
C#
在VisualStudio 工具箱中隐藏用户控件
原文:在VisualStudio 工具箱中隐藏用户控件 当我们创建一个用户控件后,VisualStudio会自动将其添加到工具箱中,本来这是一个比较贴心的设计。但是,有的时候,我们并不想将用户控件放到工具箱中。
891 0
|
供应链 数据可视化 UED