Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将菜单添加到组件类?_C#_.net_Menu - Fatal编程技术网

C# 如何将菜单添加到组件类?

C# 如何将菜单添加到组件类?,c#,.net,menu,C#,.net,Menu,我刚刚创建了一个解决方案,并在其中添加了一个“组件类” 我只需要在win表单的componentbar中添加一个菜单,就像.NET的ImageList组件一样。 有人能帮我吗 我假设您指的是ImageList组件上出现的小箭头,当您选择它时,您会看到一个选项列表。这需要自定义组件设计器 提及: System.Components.Design System.Design System.Windows.Forms.Design 下面是一个简单的小组件示例: [Designer(typeof(Te

我刚刚创建了一个解决方案,并在其中添加了一个“组件类”

我只需要在win表单的
componentbar
中添加一个
菜单
,就像.NET的
ImageList
组件一样。


有人能帮我吗

我假设您指的是ImageList组件上出现的小箭头,当您选择它时,您会看到一个选项列表。这需要自定义组件设计器

提及:

System.Components.Design
System.Design
System.Windows.Forms.Design
下面是一个简单的小组件示例:

[Designer(typeof(TestComponentDesigner))]
public class TestComponent : Component {

  public class TestComponentDesigner : ComponentDesigner {
    private DesignerVerbCollection verbs = new DesignerVerbCollection();

    public override void Initialize(IComponent component) {
      base.Initialize(component);
      verbs.Add(new DesignerVerb("Say Hello", new EventHandler(SayHello)));
    }

    public override DesignerVerbCollection Verbs {
      get {
        return verbs;
      }
    }

    private void SayHello(object sender, EventArgs e) {
      MessageBox.Show("Hello");
    }
  }
}
结果:


有关更多信息,请参见

一些与您的问题相关的代码将帮助其他人理解问题。谢谢James,但我没有在项目中键入任何代码,我只是创建了一个解决方案并添加了一个“组件类”。就这个。我怎样才能对此作出更多澄清?