2

我希望我TextBox看起来像这样
在此处输入图像描述

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

4

2 回答 2

1

通常,您必须覆盖 OnPaint 事件才能执行此操作,但是对于文本框,这将不起作用,因为不会调用 OnPaint。

一种方法是对 TextBox 进行子类化,如此处所述

但是我根本不建议您这样做,这对我来说听起来像是一项艰巨的任务(我自己从来没有这样做过),尤其是当您是编程新手时。

也许只在文本框上方或下方画一条线就足够了?

-编辑-

也许这会更好地解释它:

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

来源:msdn 论坛中的 shawn.ohern:这里 (抱歉,我不知道如何直接链接到他的帖子)

-edit2-链接显示了一种创建自己的文本框的方法,同样,我不会向不熟悉 c# 和编程的人推荐这种方法;)

于 2013-03-21T09:30:42.587 回答
0

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

看看这里:自定义控件绘画和渲染

于 2013-03-21T09:30:08.613 回答