none
如何实现向Visual Studio2015的Toolbox添加控件 RRS feed

  • 问题

  • 最近在做UWP程序的开发,自已写了些控件,想方便别人用,想问一下

    如何实现向Visual Studio2015的Toolbox添加自已的控件

    2016年5月11日 9:42

答案

  • 一种简单的方法是直接在toolbox中右键,选择chose items 选择项,再浏览选择dll文件,VS会读取dll中的工具项并把它放在toolbox中,这里有几张图片可供参考http://help.infragistics.com/Help/Doc/WindowsPhone/2012.1/CLR4.0/html/Adding_the_Controls_to_the_Visual_Studio_Toolbox_Manually.html

    另一种方法是写一个小程序片段,把dll中的控件注册到VS的工具箱中,大致的代码参考如下

    protectedICollection ToolboxItemList = null;

    ToolboxItemList = ToolboxService.GetToolboxItems(Assembly.GetExecutingAssembly(), "");

    if(ToolboxItemList == null){

        thrownewApplicationException("Unable to generate a toolbox Items listing for "

    + GetType().FullName);

    }

    IToolboxService toolboxService = GetService(typeof(IToolboxService)) asIToolboxService;

    foreach(ToolboxItem itemFromList inToolboxItemList){

        toolboxService.AddToolboxItem(itemFromList, CategoryTab);

    }


    专注于.NET MIS开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2016年5月11日 14:36

全部回复

  • 一种简单的方法是直接在toolbox中右键,选择chose items 选择项,再浏览选择dll文件,VS会读取dll中的工具项并把它放在toolbox中,这里有几张图片可供参考http://help.infragistics.com/Help/Doc/WindowsPhone/2012.1/CLR4.0/html/Adding_the_Controls_to_the_Visual_Studio_Toolbox_Manually.html

    另一种方法是写一个小程序片段,把dll中的控件注册到VS的工具箱中,大致的代码参考如下

    protectedICollection ToolboxItemList = null;

    ToolboxItemList = ToolboxService.GetToolboxItems(Assembly.GetExecutingAssembly(), "");

    if(ToolboxItemList == null){

        thrownewApplicationException("Unable to generate a toolbox Items listing for "

    + GetType().FullName);

    }

    IToolboxService toolboxService = GetService(typeof(IToolboxService)) asIToolboxService;

    foreach(ToolboxItem itemFromList inToolboxItemList){

        toolboxService.AddToolboxItem(itemFromList, CategoryTab);

    }


    专注于.NET MIS开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2016年5月11日 14:36
  • 非常感谢!

    我新建了一个类库,然后添加了一个用户控件,测试可行,

    第一种方案已经用上了!

    第二种方案想问下代码写在哪里呢?是在项目里还是哪儿?

    只是看到代码片断,不知道是在哪里写,可否有专门的文章来讲解呢?

    2016年5月13日 7:39
  • 如果自已写的控件,如何在面板中增加自已建的属性呢?

    我写了个属性

    public System.Boolean IsTapEnabled2 {
                get
                {
                    return false;
                }
                set {
                       
                }

            }

    在代码的提示中有,属性面板里有,出现在杂项里

    怎么给调整到交互上去呢?

    OH,等等,它出现在 杂项 里了,


    2016年5月13日 8:32
  • 这样试一下看行不行

     [Category("Misc"),
     Description("Specifies the IsTapEnabled2")]
    public System.Boolean IsTapEnabled2 {


                get
                 {


                    return false;


                }


                set {


                       
                 }


    专注于.NET MIS开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2016年5月13日 8:47
  • 不行啊,没 [Category这个,报错找不到
    2016年5月16日 8:52