使用自定义颜色替换/重绘TextBox 3D边框

时间:2014-12-01 19:19:10

标签: c# .net vb.net user-controls gdi+

  

SCENARIO

WinForms 中,当BorderStyle属性设置为{{1}时,我已将文本框细分为用纯色绘制自己的边框}},FlatNone

  

问题

当我的 TextBox 属性设置为Fixed3D时,当我尝试使用颜色绘制边框时,表面上的边框未正确绘制:

enter image description here

您在图片中看到的是一个缩放的TextBox,其中包含:

BackColor =黑色

BorderStyle = Fixed3D(白色的东西)

红色的是我的边界意图。

  

问题

在C#或VB.Net中,我如何替换/重绘3D边框以做我想要的?,我的意思是替换/隐藏/重绘上面图像的白色边框。

  

CODE

这是我在Fixed3D方法上尝试的内容:

OnPaint

此外,我尝试使用 Using g As Graphics = Graphics.FromHwnd(Me.Handle) ' Dim rect As Rectangle = New Rectangle(0, 0, Me.Width, Me.Height) ' Dim pen As New Pen(Color.Black, 2) ' pen.Alignment = PenAlignment.Inset ' g.DrawRectangle(pen, rect) ControlPaint.DrawBorder(Graphics.FromHwnd(Me.Handle), Me.ClientRectangle, Me.borderColor1, ButtonBorderStyle.Solid) End Using 方法,但其任何重载都接受颜色?

0 个答案:

没有答案