我想在 C# Visual Studio 2010 中从标准控件创建我的用户控件,这些控件在设计时保持独立。
问题是,当我像这样创建标准用户控件时:
public partial class MyUserControl: UserControl
{
public MyUserControl()
{
InitializeComponent();
}
}
然后我在上面添加了 2 个按钮和 1 个文本框,它们成为了 UserControl 的一部分。
然后,当设计控件并将其添加到窗体上时,我可以移动它、调整大小等,但我无法单击或选择 Button1、Button2 或 TextBox1。
同样,双击 button1 不会创建 button1_click 事件,但会创建 UserControl_Load 事件。
我想实现类似于 DataBindingNavigator 控件的效果 - 您可以在其中独立单击每个按钮。
我知道我可以进行公共(public)属性设置/返回用户控件按钮或文本框,但它们会出现在设计器中,无法选择它们。
您认为可以使用标准控件吗?如果可以,该怎么做?
最好的问候,
mj82
最佳答案
你不能这样做,因为这样做没有意义。
假设您可以按照您的要求进行操作 - 然后在表单上您可以移动用户控件按钮等 - 本质上是在表面本身上设计用户控件。好的,但是所有其他也具有该用户控件的表单呢?这就是为什么一旦您删除用户控件,它就会被修复。您不是为每个表单实例设计用户控件,而是设计控件,然后它对每个表单都是相同的。
与单击按钮相同。您想要创建一个点击事件处理程序,但根据您的要求,这将在表单中发生。但是按钮不在你的窗体上,它在你的用户控件上,它的点击事件必须在用户控件中处理,而不是父窗体。
用户控件背后的想法是不必按照您的描述进行操作。它们是预组装的积木。
DataBindinghNavigator 只不过是一个工具条。如果您想要这种行为,只需使用工具条即可。
关于c# - 如何从标准控件在 C# 中创建用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5873280/