使用c#重绘凸出的3d边框
1.新建c#项目
2.新建一个类,继承于一个控件,如label控件
3.新建的MyLabel类的代码操作
4.窗口代码
5.运行效果
6.源码
MyLabel源码
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
class MyLable : System.Windows.Forms.Label
{
//int LabWhith = 0;
//int LabHeith = 0;
public MyLable()
{
//BackColor = System.Drawing.Color.Blue;
// LabWhith = this.Width;
//LabHeith = this.Height;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//绘图
Graphics dc = e.Graphics;
Pen blackPen = new Pen(Color.Black, 6);
Pen whilePen = new Pen(Color.White, 3);
//dc.DrawRectangle(bluePen, 0, 0, 50, 50);
//Pen redPen = new Pen(Color.Red, 2);
//dc.DrawEllipse(redPen, 0, 50, 80, 60);
dc.DrawLine(whilePen, 0, 0, this.Width, 0);
dc.DrawLine(whilePen, 0, 0, 0, this.Height);
dc.DrawLine(blackPen, 0, this.Height, this.Width, this.Height);
dc.DrawLine(blackPen, this.Width, 0, this.Width, this.Height);
}
}
}