C#,textbox怎么把边框设置颜色,把四个角改成圆角,设置属性可以吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#,textbox怎么把边框设置颜色,把四个角改成圆角,设置属性可以吗?相关的知识,希望对你有一定的参考价值。

textbox 系统控件,直接改肯定是没办法的,只能自己重写控件,继承TextBox
而且圆角应该只能完全重写控件
给你个改边框颜色的代码
public class MyTextBox : TextBox


public MyTextBox()

this.BorderStyle = BorderStyle.FixedSingle;

protected override void WndProc(ref Message m)

base.WndProc(ref m);
if (m.Msg == 0xf || m.Msg == 0x14 || m.Msg == 0x85)

if (this.BorderStyle == BorderStyle.FixedSingle)

using (Graphics g = Graphics.FromHwnd(this.Handle))

using (Pen pen = new Pen(Color.Red))

g.DrawRectangle(pen, 0, 0, this.Width - 1, this.Height - 1);





参考技术A //重绘边框

private void panel1_Paint(object sender, PaintEventArgs e)


//调用

Draw(panel1.ClientRectangle, panel1.CreateGraphics(), 1);


//重绘边框

private void Draw(Rectangle rectangle, Graphics g, int _radius)



Pen shadowPen = new Pen(Color.Black);

g.DrawPath(shadowPen, DrawRoundRect(rectangle.X, rectangle.Y, rectangle.Width - 2, rectangle.Height - 1, _radius));


public static GraphicsPath DrawRoundRect(int x, int y, int width, int height, int radius)


GraphicsPath gp = new GraphicsPath();
gp.AddArc(x, y, radius, radius, 180, 90);

gp.AddArc(width - radius, y, radius, radius, 270, 90);

gp.AddArc(width - radius, height - radius, radius, radius, 0, 90);

gp.AddArc(x, height - radius, radius, radius, 90, 90);

gp.CloseAllFigures(); return gp;

参考技术B 哈哈,这简单!没有这个选项,除非自绘重写控件。

以上是关于C#,textbox怎么把边框设置颜色,把四个角改成圆角,设置属性可以吗?的主要内容,如果未能解决你的问题,请参考以下文章

C#文本框边框颜色如何改变

怎么把电子表格的边框变颜色啊

带有白色边框的警报控制器

基于平面 marker 的 Bundle Adjustmet

基于平面 marker 的 Bundle Adjustmet

css实现盒子的四个角高亮边框显示