[英]How to use the Visual Studio form designer for other windowing systems?
[英]How can I use Visual Studio designer without form
我正在使用 Visual Studio 創建一個 Windows 窗體項目。
我的項目的解決方案資源管理器中沒有表單類 - 我即時構建所有表單。 所以我沒有機會在 Visual Studio 或工具箱中打開設計器。
但我想創建一個 ContextMenuStrip 並在設計器中對其進行編輯。 我通常通過將 ContextMenuStrip 從 ToolBox 拖到 Designer 上來完成此操作。 但是,如果不先創建表單或用戶控件,我就沒有任何方法(我可以說)打開設計器。
如何在設計器中編輯 ContextMenuStrip 而無需先將其與窗體或用戶控件相關聯?
要清楚 - 我知道如何在代碼中動態生成 ContextMenuStrip。 那不是我想要的。 我想使用設計器來創建和編輯 ContextMenuStrip,而不必先將 ContextMenuStrip 與我不打算包含在我的項目中的窗體或用戶控件相關聯。
(Visual Studio 2013 Pro,如果重要的話)
我不相信這是可能的,而且我認為在仔細審查下這真的沒有意義。
Designer 是一種幫助您構建表單和用戶控件的工具。 真的是這樣。 它可以節省您編寫代碼來手動創建和繪制控件。 它提供了快捷方式和一個很好的圖形視圖,可以查看本質上是自動代碼生成的內容。
您嘗試創建的既不是新的UserControl
類型,也不是新的Form
類型 - 兩者都可以在設計器中創建。 這是一個菜單條,其中預先添加了某些內容。 這不能孤立存在。 它需要轉換為創建和添加成員到具體ContextMenuStrip
對象的代碼。 該對象必須位於某個類( Form
或UserControl
)中。 我不明白它怎么可能獨立存在。
同樣的問題……新的解決方案……
您可以將 ContextMenuStrip 添加到表單,然后使用代碼修改表單,以便您使用單例類型屬性訪問它:
public partial class frmContextMenuHost : Form
{
private frmContextMenuHost()
{
InitializeComponent();
}
private static frmContextMenuHost _frmContextMenu = null;
public static ContextMenuStrip GetContextMenu
{
get
{
if (_frmContextMenu == null)
{
_frmContextMenu = new frmContextMenuHost();
}
return _frmContextMenu.contextMenuStrip1;
}
}
}
您打算如何使用 ContextMenuStrip 的事件?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.