我希望我TextBox
看起来像这样
如何删除TextBox
控件的左侧和右侧?
通常,您必须覆盖 OnPaint 事件才能执行此操作,但是对于文本框,这将不起作用,因为不会调用 OnPaint。
一种方法是对 TextBox 进行子类化,如此处所述
但是我根本不建议您这样做,这对我来说听起来像是一项艰巨的任务(我自己从来没有这样做过),尤其是当您是编程新手时。
也许只在文本框上方或下方画一条线就足够了?
-编辑-
也许这会更好地解释它:
TextBox 的特殊之处在于您无法自定义绘制它。如果您只想要一个自定义边框,您可以创建一个新的 UserControl 并添加一个边框样式设置为 None 的 TextBox。确保在 TextBox 外部留出足够的空间用于边框。然后在 UserControl 表面上绘制边框。另一种方法是处理 TextBox 的 WM_NCPAINT 消息,然后绘制边框,但这要复杂得多。
来源:msdn 论坛中的 shawn.ohern:这里 (抱歉,我不知道如何直接链接到他的帖子)
-edit2- 此链接显示了一种创建自己的文本框的方法,同样,我不会向不熟悉 c# 和编程的人推荐这种方法;)
Windows 窗体基于 Win32 API,与使用声明性语言描述 UI 的 WPF 不同,它使您可以完全控制绘制自己的控件。
看看这里:自定义控件绘画和渲染。