using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Text;
using System.Windows.Forms;namespace GradientTabControl
{
    public partial class TXButton :Button
    {
        System.Drawing.Color StartColor;
        System.Drawing.Color EndColor;
        private PointF centerPoint;        private Color BtnFrontColor;        public TXButton() 
        {
            StartColor = Color.FromArgb(166, 202, 240);
            EndColor = Color.FromArgb(168, 226, 250);
            BtnFrontColor = Color.Black;
         }
                protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe); 
            StringFormat sf = new StringFormat();
            sf.LineAlignment = StringAlignment.Center ; 
            sf.Alignment = StringAlignment.Center;
            
                       
            sf.FormatFlags = StringFormatFlags.DirectionRightToLeft;
            Graphics g = pe.Graphics;
            System.Drawing.Drawing2D.LinearGradientBrush gradBrush;
            gradBrush = new System.Drawing.Drawing2D.LinearGradientBrush(this.ClientRectangle, PageStartColor, PageEndColor, LinearGradientMode.ForwardDiagonal);
            g.FillRectangle(gradBrush, 2, 2, base.Width - 4, base.Height - 4);            Brush TxBrush = new SolidBrush(this.BtnFrontColor);            //this.centerPoint = new PointF((this.ClientRectangle.Left + this.ClientRectangle.Right) / 2, (this.ClientRectangle.Top + this.ClientRectangle.Bottom) / 2);
            this.centerPoint = new PointF(( base.Width ) / 2, ( base.Height) / 2);            g.DrawString(this.Text, new Font("Times New Roman", 12), TxBrush, centerPoint.X, centerPoint.Y - 12, sf);            gradBrush.Dispose();
            TxBrush.Dispose();
           
        }
        #region Gradient start and end color properties
        public System.Drawing.Color PageStartColor
        {
            get
            {
                return StartColor;
            }
            set
            {
                StartColor = value;
            }
        }
        public System.Drawing.Color PageEndColor
        {
            get
            {
                return EndColor;
            }
            set
            {
                EndColor = value;
            }
        }
        #endregion        #region fore color front normal text
        public Color TextColor
        {
            get
            {
                return this.BtnFrontColor;
            }
            set
            {
                this.BtnFrontColor = value;
            }
        }
        #endregion        #region set the text aglin attribute
        public override ContentAlignment TextAlign
        {
            get
            {
                return base.TextAlign;
                
            }
            set
            {
                base.TextAlign = value;
            }
        }        #endregion        private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // TXButton
            // 
            this.Resize += new System.EventHandler(this.TXButton_Resize);
            this.ResumeLayout(false);        }        private void TXButton_Resize(object sender, EventArgs e)
        {
            OnPaint((PaintEventArgs)e);
        }
    
    }
}我写了一个组件,内容如下,为什幺通过该组件建立的第一个按钮名字为txButton2而不是txButton1呢?请问哪里写得有问题?谢谢!