簡體   English   中英

如何將設計器支持添加到 Winforms 擴展控件?

[英]How to add designer support to Winforms extension control?

我正在使用 C# 和 .Net 5.0 框架創建一個 Windows 表單應用程序,並想創建一個擴展 class 的按鈕控件,我可以將其用作打開菜單控件的相應按鈕,頁面(“頁面”是我為 UserControls 實現的自定義界面,而不是讓我的應用程序的每個部分都成為單獨的表單)。

但是,在制作了擴展了按鈕 class 的 MenuBtn class 之后,嘗試將 MenuBtn 從我的 VS 2019 工具箱拖動到設計器視圖時出現很長的錯誤。 看來我需要為我的 MenuBtn class 添加某種設計時支持,但我不知道該怎么做。 我知道我可以以編程方式使用 class,但我希望能夠在設計器中使用控件。

我知道我可以只在按鈕周圍創建一個 UserControl 包裝器並使用它,但是因為按鈕已經具有我想要的幾乎所有功能,這樣做似乎是糟糕的設計。 此外,我將其創建為一種框架,以便我將來制作的應用程序可以使用這些菜單按鈕。 這就是為什么我不只是為打開特定頁面的每個按鈕創建自定義 OnClick 事件處理程序。

下面是我的 MenuBtn class 的片段,它現在非常簡單,以及我在嘗試將 MenuBtn 放入設計 window 時收到的錯誤圖片的鏈接(我無法從錯誤 Z05B8C702FBF4Z 復制和粘貼)它是一個很長的錯誤)。 正如您從代碼片段中看到的,我嘗試將設計器標記添加到 class。

    [Designer(typeof(ControlDesigner))]
    public partial class MenuBtn : Button
    {
        public MenuBtn()
        {
            InitializeComponent();
        }
    }

設計器錯誤消息:鏈接

我不確定到底是什么問題,我仍然有點困惑,但我能夠通過清理和重建解決方案的某種組合來解決這個問題,並將構建目標 CPU 從 Any cpu 更改為 x86,以及然后再回來。

我想問題不是我需要添加某種設計器支持,而是工具箱/設計器從我的項目的 dll 讀取的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM