C# 如何将按钮添加到文本框?
我想做一个右边有按钮的文本框。 我的代码: 每次我启动应用程序并在按钮中设置一些文本或图像时,它都是空的。一些想法C# 如何将按钮添加到文本框?,c#,winforms,C#,Winforms,我想做一个右边有按钮的文本框。 我的代码: 每次我启动应用程序并在按钮中设置一些文本或图像时,它都是空的。一些想法 致以最诚挚的问候。不要将按钮添加到文本框中,而是使用一些容器(Control或UserControl并将文本框和按钮添加到中)。不确定“在文本框中”是什么意思。您的意思是希望按钮覆盖文本框的右侧,还是位于文本框的右侧(但不重叠) 我不确定您的需求是什么,但我可能会在可视化设计器中执行此操作,而不是尝试在代码中执行此操作: 创建一个新控件 创建一个包含两列和 一排 将文本框放入 左侧
致以最诚挚的问候。不要将按钮添加到文本框中,而是使用一些容器(Control或UserControl并将文本框和按钮添加到中)。不确定“在文本框中”是什么意思。您的意思是希望按钮覆盖文本框的右侧,还是位于文本框的右侧(但不重叠) 我不确定您的需求是什么,但我可能会在可视化设计器中执行此操作,而不是尝试在代码中执行此操作:
- 创建一个新的C#WinForms项目
- 在窗体上放置新的多行文本框
- 在加载事件中粘贴以下代码:
Button btn = new Button(); btn.Parent = textBox1; btn.BringToFront(); textBox1.Controls.Add(btn); btn.BackColor = Color.Gray; btn.Text = "Help!";
另一方面,WPF可能有能力做到这一点,并在按钮周围流动文本 您必须告诉设计器,它还应该序列化按钮的属性:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public Button Button {
//...
}
默认设置是隐藏的,因此不会将任何按钮属性写入Designer.cs文件。例如,设置文本属性在设计器中起作用,但在启动应用程序或重新加载表单后,属性值将丢失。首先问一个问题:
您是否需要在文本框的一侧设置一个或多个按钮?
因此,对于一个按钮或集合,您需要一个或多个属性按钮
如果按钮不是那么复杂,你需要做很多特定的功能,
您可以使用UserControl。这是正确的方法。
否则,您必须采取CustomControl,更多的工作
逻辑步骤:
- 从上面创建一个给定控件
- 创建一个或多个属性按钮
- 使用停靠布局,这更容易
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public Button Button {
//...
}