winform重绘
Posted 金琥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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所在的页面
以上是关于winform重绘的主要内容,如果未能解决你的问题,请参考以下文章
C# winform中 怎么让RichTextBox支持透明。通过继承还是重绘了?最好有代码,菜鸟学习中。