【问题标题】:C# - Convert MenuStrip code to ToolStripC# - 将 MenuStrip 代码转换为 ToolStrip
【发布时间】:2010-12-31 21:27:01
【问题描述】:

我正在尝试将原本用于 MenuStrip 的代码转换为可用于 ToolStrip 的代码。简而言之,将 MenuItem 传递给 Init() ,我需要确定相关菜单项的父项是什么。这个 sn-p 与 MenuStrip 配合得很好,但我似乎无法让它与父级为 ToolStripDropDownButton 的 ToolStrip 一起工作。

原始代码片段(MenuStrip 的理想选择):

private MenuItem menuItemMRU;
private MenuItem menuItemParent;

public void Init(MenuItem mruItem)
{
    menuItemMRU = mruItem;
    menuItemParent = (MenuItem) menuItemMRU.Parent;
}

这就是我目前所得到的

private ToolSTripMenuItem menuItemMRU;
private ToolStripDropDownButton menuItemParent;

public void Init(ToolStripMenuItem mruItem)
{
    menuItemMRU = mruItem;
    menuItemParent = (ToolStripMenuItem)menuItemMRU.Owner;
}

这给了我以下错误:

无法将类型“System.Windows.Forms.ToolStrip”转换为“System.Windows.Forms.ToolStripMenuItem”

【问题讨论】:

  • 那么I can't seem to get it working with a ToolStrip 是什么意思?错误/异常或其他行为?
  • 更新了我目前尝试使用的问题。
  • 您收到错误Cannot convert type 'System.Windows.Forms.ToolStrip' to 'System.Windows.Forms.ToolStripMenuItem',因为OwnerToolStrip 的类型,而不是ToolStripMenuItem
  • 好吧,这很有道理。那么我应该如何找到 ToolStripMenuItem 的父级,因为它没有标准 MenuItem 那样的“父级”属性。

标签: c# winforms toolstrip


【解决方案1】:

ToolStripItem 确实有一个 OwnerItem 属性。见msdn

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多