winform重绘

1.重绘文字
#多行文字
a.先定义一个矩形

Rectangle p1 = new Rectangle(10, 0, 200, this.Height);
Rectangle p2 = new Rectangle(210, 0, 200, this.Height);
Rectangle p3 = new Rectangle(410, 0, 100, this.Height);

b.在矩形中写入文字

TextRenderer.DrawText(g,name,Font,p1,ForeColor,TextFormatFlags.HorizontalCenter|TextFormatFlags.VerticalCenter);
TextRenderer.DrawText(g, time, Font, p2, ForeColor, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter);
TextRenderer.DrawText(g, content, Font, p3, ForeColor, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter);

#单行文字
a.先定义一个点

Point P1 = new Point(this.Width - 100, this.Height - 100);

b.在点后写入文字

TextRenderer.DrawText(g, "dsadhskldhashdalks", Font, P1, Color.YellowGreen);

#TextFormatFlags.HorizontalCenter将边框内的文本水平居中对齐 TextFormatFlags.VerticalCenter在边框内部垂直居中对齐文本

2.画线
#画横线

g.DrawLine(new Pen(Color.Brown), 0, this.Height-1, this.Width, this.Height-1);//画横线铺满,对于高度不变,横坐标从0到当前宽度,当前高度从-1到-1,就是画出一像素的高度

#画竖线

g.DrawLine(new Pen(Color.Purple), this.Width - 15, 0, this.Width - 15, this.Height - 14);//从(-15,0)到(-15,-14)绘制一条竖线,this.Width - 15-----当前宽度从右边减去15像素处开始,this.Height - 14------当前高度从下边减去14像素处开始

#画虚线

private void panel1_Paint(object sender, PaintEventArgs e)
{
Control P = (Control)sender;
Pen pen = new Pen(Color.FromArgb(255, 0, 0), 5);
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Custom;//虚线的样式
pen.DashPattern = new float[] { 2, 2 };//设置虚线中实点和空白区域之间的间隔
Graphics g = e.Graphics;
g.DrawLine(pen, 0, 0, 0, P.Height - 1);
}

#对panel1重绘,this:当前页面为panel1所在的页面

时间: 2024-10-26 03:20:20

winform重绘的相关文章

winform重绘窗体成圆角(网上借鉴)

winform做圆角窗体: 1 //重绘窗体为圆角 2 private void frmMain_Paint(object sender, PaintEventArgs e) 3 { 4 #region 5 6 List<Point> list = new List<Point>(); 7 int width = this.Width; 8 int height = this.Height; 9 10 #region 四个圆角 11 12 //左上 13 list.Add(new

WinForm中重绘TabControl选项卡标题

最近开发WinForm频繁使用了TabControl控件,这个控件的选项卡没有BackgroundImage这个属性,那么如何为其各个选项卡添加背景图片呢?(这里说的是每个TabPage的头部,也就是标题,不是工作区域.) 最开始用到TabControl的时候,我的每个选项卡是写死的,而后由于项目需求又动态添加了TabControl并生成各个选项卡,而两次我都要重绘其标题,因此在这里把我当时两种情形下重绘的方法通过一个例子一起分享出来. 首先先在窗体拖个Tabcontrol控件,然后更改了其Al

【原创】重绘winform的GroupBox

功能:重绘winform的GroupBox,以便调整边框颜色和边框宽度 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Drawing2D

[DForm]我也来做自定义Winform之另类标题栏重绘

据说得有楔子 按照惯例,先来几张样例图(注:为了展示窗口阴影效果,截图范围向外扩展了些,各位凭想象吧).                   还要来个序 其实,很多年没写过Winform了,前端时间在重构我们公司自己的呼叫中心系统,突然就觉得客户端好丑好丑,对于我这种强迫症晚期患者来说,界面不好看都不知道怎么写代码的,简直就是种折磨,还是满清十大酷刑级别那种. 很多人推荐WPF,不过个人对WPF没啥感觉,而且据说也无法支持2.0,还是采用Winform技术来搞吧. 终于第一节 做Winform皮

WinForm中按钮等控件的背景渐变色重绘

注:brush通过起止坐标来控制重绘范围及方向.比如从上到下渐变时,brush第二个Point参数是左下角坐标. 1 private void PaintGradientBackground(Button btn) 2 { 3 Bitmap newGradientBackImg = new Bitmap(btn.Width, btn.Height); 4 LinearGradientBrush brush = new LinearGradientBrush(new PointF(0, 0), n

重写OnPaint事件对窗体重绘(显示gif动画) 实例2

/// <summary> /// 可显示Gif 的窗体 /// </summary> public class WinGif : Form { private Image _img = null; public Image Img { get { return _img; } set { _img = value; } } private EventHandler evtHandler = null; public WinGif(Image img) { //初始化设置 evtH

高性能WEB开发:重排与重绘

DOM编程可能最耗时的地方,重排和重绘. 1.什么是重排和重绘 浏览器下载完页面中的所有组件--HTML标记.JavaScript.CSS.图片之后会解析生成两个内部数据结构--DOM树和渲染树. DOM树表示页面结构,渲染树表示DOM节点如何显示.DOM树中的每一个需要显示的节点在渲染树种至少存在一个对应的节点(隐藏的DOM元素disply值为none 在渲染树中没有对应的节点).渲染树中的节点被称为"帧"或"盒",符合CSS模型的定义,理解页面元素为一个具有填充

iOS 视图:重绘与UIScrollView(内容根据iOS编程编写)

我们继续之前的 Hypnosister 应用,当用户开始触摸的时候,圆形的颜色会改变. 首先,在 JXHypnosisView 头文件中声明一个属性,用来表示圆形的颜色. #import "JXHypnosisView.h" @interface JXHypnosisView () /** 颜色 */ @property (nonatomic,strong) UIColor * circleColor; @end @implementation JXHypnosisView - (in

[Android FrameWork 6.0源码学习] View的重绘过程之Draw

View绘制的三部曲,测量,布局,绘画现在我们分析绘画部分测量和布局 在前两篇文章中已经分析过了.不了解的可以去我的博客里找一下 下面进入正题,开始分析调用以及函数原理 private void performDraw() { if (mAttachInfo.mDisplayState == Display.STATE_OFF && !mReportNextDraw) { return; } final boolean fullRedrawNeeded = mFullRedrawNeede