vs2005(.net framework2.0)与vs2003(.net framework1.1) 在很多方面都存在差异,比如1.1里面可以重载控件的Paint,但是在2.0里面已经不推荐这样做了。所以1.1实现下划线的方式可能在2.0里面就不太好用。我使用了一个比较另类的方法,也实现了下划线的样式。具体步骤如下:
1、新建项目,Windows控件库
2、拖一个textbox到设计UI上,将TextBox的背景色设置与Control的背景色相同,这样你就看不到TextBox原有的方框了
3、重载Control的OnPaint(还是Paint,忘记了)
e.Graphics.DrawLine(new Pen(Color.Black,1),this.textbox1.Location.X,this.textbox1.Location.Y+this.textbox1.Height +1,this.textboxLocation.X+this.textbox1.Width,this.textbox1.Location.Y+this.textbox1.Height +1);
然后你就可以看到下划线的TextBox了,是不是很简单。
总结:当然这只是一个最简单的方法,如果你想要更复杂的操作,需要添加一些事件处理,比如要保持用户控件和你程序中界面背景色的一致,textbox大小的变化,最大的问题是,这个好像只是单行的哦,如果多行的处理更复杂一些。