首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

窗体类的控制TextBox边框有关问题

2012-10-12 
窗体类的控制TextBox边框问题C# codeGraphics g e.GraphicsPen pen new Pen(Color.Red, 2.0f)foreac

窗体类的控制TextBox边框问题

C# code
            Graphics g = e.Graphics;            Pen pen = new Pen(Color.Red, 2.0f);            foreach (Control ctr in this.Controls)            {                if (ctr is TextBox)                {                    g.DrawRectangle(pen, new Rectangle(ctr.Location, ctr.Size));                }            }//以上正常,在当前窗体里面的TextBox控件加了边框            foreach (Control ctr1 in this.Controls)            {                TabControl tab = ctr1 as TabControl;                if (tab != null)                {                    foreach (TabPage tp in tab.TabPages)                    {                        foreach (Control c in tp.Controls)                        {                            if (c is TextBox)                            {                               //这里设置边框不行                                g.DrawRectangle(pen, new Rectangle(c.Location, c.Size));                                c.Text = "abc";//这里有效,证明c已经找到了TextBox控件                                 //这里为什么没有BorderStyle这个属性呢?                                // c.BorderStyle = System.Windows.Forms.BorderStyle.None;                            }                        }                    }                }            }            pen.Dispose();        }

  //这里设置边框不行
  g.DrawRectangle(pen, new Rectangle(c.Location, c.Size));
  c.Text = "abc";//这里有效,证明c已经找到了TextBox控件
  //这里为什么没有BorderStyle这个属性呢?
  // c.BorderStyle = System.Windows.Forms.BorderStyle.None;


[解决办法]
(c as TextBox).BorderStyle
[解决办法]
重绘控件,最好还是自己继承一个重绘的好,以避免添加太多的Paint事件。

C# code
/// <summary>    /// CFlatTextBox:浮动文本框    /// </summary>    [ToolboxBitmap (typeof(FlatTextBox), "FlatBox.bmp")]        public class FlatTextBox : System.Windows.Forms.TextBox 

热点排行