当前位置:开发者网络 >> 技术教程 >> .NET教程 >> Windows开发 >> 内容
精彩推荐
分类最新教程
分类热点教程
  
如何让TextBox的黑色边框变成淡蓝色(borderstyle=FixedSingle)
作者:未知
日期:2003-07-12
人气:
投稿:Andy.m(转贴)
来源:未知
字体:
收藏:加入浏览器收藏
以下正文:
我在写的过程中发现了这个控件并不用 Paint 事件,所以只好直接截取 WndProc 函数了,很简单,是这样的:

Public Class TextBoxBlue
  Inherits TextBox

  Protected Overrides Sub WndProc(ByRef m As system.Windows.Forms.Message)
    MyBase.WndProc(m)
    Const WM_PAINT As Integer = &HF
    If m.Msg = WM_PAINT AndAlso Me.BorderStyle = BorderStyle.FixedSingle
Then
      Dim g As Graphics = Graphics.FromHwnd(Me.Handle)
      g.DrawRectangle(Pens.Blue, Me.ClientRectangle.Left,
Me.ClientRectangle.Top, Me.ClientRectangle.Width - 1,
Me.ClientRectangle.Height - 1)
      g.Dispose()
    End If
  End Sub
End Class

也可以自己添加一个属性叫做 BorderColor 来选择框架的颜色。

相关文章: