删除左侧和右侧边框

时间:2013-03-21 09:22:15

标签: c# winforms textbox

我希望我的TextBox看起来像这样 enter image description here

如何删除TextBox控件的左侧和右侧?

2 个答案:

答案 0 :(得分:1)

通常情况下,您必须覆盖OnPaint事件来执行此操作,但是,对于Textbox,这将无效,因为OnPaint不会被调用。

一种方法是将TextBox子类化为here

所描述的

但是我不建议你这样做,这对我来说听起来是一项艰巨的任务(我自己从未这样做过),特别是当你不熟悉编程时。

也许只需在TextBox上方或下方画一条线就足够了吗?

<强> -edit -

也许这会更好地解释它:

  

TextBox的特殊之处在于您无法自定义绘制它。   如果只需要自定义边框,则可以创建新的UserControl并添加边框样式设置为“无”的TextBox。确保在TextBox的外部留出足够的空间用于边框。然后在UserControl表面上绘制边框。   另一种方法是处理TextBox的WM_NCPAINT消息然后绘制边框,但这要复杂得多。

来源:msdn论坛中的shawn.ohern:here (对不起,我不知道如何直接链接到他的帖子)

<强> -edit2 - 这个link显示了一种创建自己的TextBox的方法,我再也不建议那些不熟悉c#和编程的人;)

答案 1 :(得分:0)

Windows窗体基于Win32 API,与使用声明性语言描述UI的WPF不同,它使您可以完全控制绘制自己的控件。

看看这里:Custom Control Painting and Rendering