首页 新闻 会员 周边 捐助

如何在TextBox的下边缘画一条直线?

0
悬赏园豆:20 [已解决问题] 解决于 2010-08-16 15:49

我想自定义一个控件,就是把文本框用一条直线代替,这样比较美观,我的想法是先拖出一个文本框,border和内容都设置为透明的,然后再在这个TextBox下边缘画一条直线,这样看上去就是一条直线的文本框了!可是如何画线呢?

问题补充: 是在Winform中自定义控件的
Michelle 米雪儿的主页 Michelle 米雪儿 | 菜鸟二级 | 园豆:209
提问于:2010-08-06 10:26
< >
分享
最佳答案
0

web程序就不要划直线了,样式就可以解决。直接指定下边框为直线。其它边框none。

winform的话直接重写控件的TextBox 的OnPaint事件


  graphics g = e.graphics;

//定义两个点的坐标
  point ps = new point (0,this.height-1);
  point pe = new point(this.width ,this.height);

//划线ok
  g.drawLine(Pens.Blue,ps,pe);

收获园豆:15
邢少 | 专家六级 |园豆:10926 | 2010-08-06 10:39
长度怎么确定啊?我想让它和文本框一样长!
Michelle 米雪儿 | 园豆:209 (菜鸟二级) | 2010-08-06 11:15
@思思鱼: 当然是取textbox的宽度了。point pe = new point(this.width ,this.height); 这不是有了吗
邢少 | 园豆:10926 (专家六级) | 2010-08-10 15:13
其他回答(7)
0

用CSS就可以实现,搜了一下,根据需要你再改一下。

<style type= "text/css ">
.myline
{
BORDER-RIGHT: #000000 0px solid; BORDER-TOP: #000000 0px solid; BORDER-LEFT: #000000 0px solid; BORDER-BOTTOM: #000000 1px solid
}
</style>
<asp:TextBox id= "TextBox1 " runat= "server" CssClass= "myline "></asp:TextBox>

Astar | 园豆:40805 (高人七级) | 2010-08-06 10:36
其实上面CSS可以更简化一点。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-08-06 10:38
谢谢!
支持(0) 反对(0) Michelle 米雪儿 | 园豆:209 (菜鸟二级) | 2010-08-06 10:58
0

帮顶,学习了,两种方式

changbluesky | 园豆:854 (小虾三级) | 2010-08-06 10:51
0

style="border: 0; border-bottom: 1px solid #000;"

收获园豆:5
Gray Zhang | 园豆:17610 (专家六级) | 2010-08-06 10:52
0

顶!

stewen | 园豆:14 (初学一级) | 2010-08-06 10:56
0

style="border: 0; border-bottom: 1px solid #000;"这样就可以了

林雨.... | 园豆:116 (初学一级) | 2010-08-06 11:31
0

用CSS设置上下左右边框

程序帝 | 园豆:238 (菜鸟二级) | 2010-08-06 22:02
0

我感觉第二种方法 更好一点

翻云~小兔子 | 园豆:223 (菜鸟二级) | 2010-08-16 15:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册