【问题标题】:Is there away to drop a usercontrol with parameters into a form?是否可以将带有参数的用户控件放入表单中?
【发布时间】:2019-01-01 21:22:52
【问题描述】:

我有一个带有只读参数的用户控件。是否可以从工具箱中将这个用户控件放到winforms中(填写构造函数的参数)?

我想让我的程序尽可能用户友好。我的意思是当“客户”想要改变设计时,他/她必须从工具箱中拖放而不进入代码。现在我正在我的班级中创建和定位用户控件。我也可以为每个枚举制作不同的用户控件并以这种方式进行。

public partial class MyUserControl : UserControl{
     public MyUserControl(Enum type){}
}

【问题讨论】:

  • 不,如果您想在设计时使用它,请使用属性而不是构造函数
  • 您的 UC 的所有公共属性都将在表单设计器的属性窗口中列出。然后,用户可以使用属性窗口来自定义控件的外观/行为等。此外,请参阅 EditorBrowsableBrowsableCategory 属性。

标签: c# winforms parameters drag-and-drop user-controls


【解决方案1】:

确保您的控件也有一个默认构造函数,即没有参数的构造函数。如果您打算在代码中创建控件,则可以保留当前的参数化构造函数。如果添加公开枚举的公共属性,那么它将出现在控件的属性窗口中。您在此处设置的值将被保留,即表单将记住此值。

如果用户控件在当前项目中,一旦编译成功,工具箱窗口会自动在最顶部列出你的控件。

如果用户控件在另一个项目中,您必须编辑工具箱并添加对其他程序集的引用才能将控件添加到工具箱。

【讨论】:

  • 您可以保留当前的参数化构造函数。 - 如果从生成的代码中使用 Control(从工具箱“删除”),则永远不会使用该构造函数
猜你喜欢
  • 2011-09-25
  • 2021-08-03
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
相关资源
最近更新 更多