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);
                }
            }
        }
    }
}

原文地址:http://blog.csdn.net/geovi/article/details/7399406

在网站制作、网站建设中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联公司专业成都网站建设十年了,客户满意度97.8%,欢迎成都创新互联客户联系。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:WinFormTextBox下面横线展示-创新互联
分享路径:http://myzitong.com/article/djshjc.html