【发布时间】:2022-01-18 18:43:56
【问题描述】:
我正在使用 C# 和 .Net 5.0 框架创建一个 Windows 窗体应用程序,并且想创建一个按钮控件的扩展类,我可以将其用作菜单控件,也就是说,单击其中一个按钮将打开相应的页面(“页面”是我为 UserControls 实现的自定义界面,而不是让我的应用程序的每个部分都成为单独的表单)。
但是,在创建了扩展 Button 类的 MenuBtn 类之后,尝试将 MenuBtn 从我的 VS 2019 工具箱拖动到设计器视图时出现很长的错误。 似乎我需要为我的 MenuBtn 类添加某种设计时支持,但我不知道该怎么做。我知道我可以以编程方式使用该类,但我想成为能够在设计器中使用控件。
我知道我可以在按钮周围创建一个 UserControl 包装器并改用它,但是因为按钮已经具有我想要的几乎所有功能,所以这样做似乎是糟糕的设计。此外,我将其创建为一种框架,以便我将来制作的应用程序可以使用这些菜单按钮。这就是为什么我不只是为打开特定页面的每个按钮创建自定义 OnClick 事件处理程序。
下面是我的 MenuBtn 类的 sn-p,它现在非常简单,以及我在尝试将 MenuBtn 从工具箱放入设计窗口时收到的错误图片的链接(我无法复制和从错误窗口粘贴,这是一个很长的错误)。从代码 sn-p 中可以看出,我尝试在类中添加设计器标签。
[Designer(typeof(ControlDesigner))]
public partial class MenuBtn : Button
{
public MenuBtn()
{
InitializeComponent();
}
}
设计器错误消息: link
【问题讨论】:
-
也许这可以帮助你。 stackoverflow.com/questions/4186953/…
-
我之前确实遇到过这个问题,问题是我不需要任何自定义设计器功能,标准按钮功能很好,我只是无法从我的工具箱中放置它。我确实尝试了该解决方案,但没有任何区别
标签: c# visual-studio winforms user-interface