WinFormTextBox下面横线展示
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace WindowsFormsApplication1
{
[ToolboxItem(true)]
public partial class TextBoxLine : TextBox
{
public TextBoxLine()
{
InitializeComponent();
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.BorderStyle = BorderStyle.None;
}
public TextBoxLine(IContainer container)
{
container.Add(this);
InitializeComponent();
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.BorderStyle = BorderStyle.None;
}
private bool m_DrawLine = false;
public bool DrawLine
{
get
{
return this.m_DrawLine;
}
set
{
this.m_DrawLine = value;
this.Invalidate();
}
}
private Color _linecolor = Color.Black;
///
/// 线条颜色
///
public Color LineColor
{
get
{
return this._linecolor;
}
set
{
this._linecolor = value;
this.Invalidate();
}
}
[System.Runtime.InteropServices.DllImport("user32.dll ")]
static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
[System.Runtime.InteropServices.DllImport("user32.dll ")]
static extern IntPtr GetWindowDC(IntPtr hWnd);
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == 0xf || m.Msg == 0x133)
{
if (this.DrawLine)
{
IntPtr hDC = GetWindowDC(m.HWnd);
if (hDC.ToInt32() == 0)
{
return;
}
Graphics g = Graphics.FromHdc(hDC);
Pen p = new Pen(this._linecolor, 1);
Point p1 = new Point(0, this.Height - 1);
Point p2 = new Point(this.Width, Height - 1);
g.DrawLine(p, p1, p2);
m.Result = IntPtr.Zero;
ReleaseDC(m.HWnd, hDC);
}
}
}
}
}
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站建设、秀峰网络推广、小程序开发、秀峰网络营销、秀峰企业策划、秀峰品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供秀峰建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
原文地址:http://blog.csdn.net/geovi/article/details/7399406
本文名称:WinFormTextBox下面横线展示
网页链接:http://www.jxjierui.cn/article/jidcgs.html


咨询
建站咨询
