zoukankan      html  css  js  c++  java
  • asp.net自定义控件中ToolboxBitmap元数据设置详细说明

        在asp.net应用的过程中,少不了的会创建一些自定义服务器控件,但控件完成后,默认的图标是统一的蓝色齿轮的图标,没有个性,也不能很好的直观表示控件的作用,这时我们需要自己添加自定义的工具图标
        自定义图标为16像素宽高,256色的BMP图片,并设置图标文件的BuildingAction(生成操作)属性为嵌入的资源,但我们添加完成后在工具箱里显示不了自定义图标,这与我们类文件的名称空间有关


    例一:
        说明:控件未定义名称空间,图标文件名与控件的名称一致
        
        控件集名称为:MyControls.dll
        控件名称为:MyBox(未自定义名称空间)
        图标名称为:MyBox.bmp
        MyBox添加元数据(此结构下也可以不添加元数据,默认会查找MyBox.bmp图标文件,网上大多是这样介绍的)
        <ToolboxBitmap(GetType(MyBox), "MyBox.bmp">
        
        在工具箱中添加此控件,可以看到控件显示了自定义图标

    例二:
        说明:控件定义了名称空间:Boxes,图标文件名与控件名一致
       
        控件集名称为:MyControls.dll 
        控件名称为:MyBox
        自定义名称空间:Boxes
        图标名称为:MyBox.bmp
        MyBox添加元数据
        <ToolboxBitmap(GetType(MyBox), "MyBox.bmp">
        
        在工具箱中添加此控件,但这个时候控件显示的是默认的齿轮图标,而不是自定义的MyBox.bmp图标
        
        这个时候我们要做的是重命名原来的MyBox.bmp以适应控件的名称空间:Boxes.MyBox.bmp
        注意上面添加的元数据的图片name不用修改
        这时再添加控件到工具箱中,又可以看到可爱的自定义图标了

    例三:
        说明:控件定义了名称空间:Boxes,图标文件名与控件名不相同
       
        控件集名称为:MyControls.dll 
        控件名称为:MyBox
        自定义名称空间:Boxes
        图标名称为:Box.bmp
        MyBox添加元数据
        <ToolboxBitmap(GetType(MyBox), "Box.bmp">
        重命名Box.bmp以适应控件的名称空间:Boxes.Box.bmp
        再添加控件到工具箱中

    在MSDN文档中提到:
        ToolboxBitmapAttribute (t, name)
        参数
    t
    一个 Type,将在它的定义程序集中搜索位图资源。
    name
    嵌入的位图资源的名称。
    备注
    此构造函数在定义由 t 参数指定的类型的程序集中搜索嵌入的资源。此构造函数搜索名为 namespace.name 的资源,其中 namespace 是由 t 参数指定的类的定义所在的命名空间。例如,假定 ControlA 是 AssemblyA.dll 中的 NamespaceA 的类,而且已将“MyBitmap.bmp”传递给 name 参数。则构造函数在 AssemblyA.dll 中搜索命名为 NamespaceA.MyBitmap.bmp 的资源。

        在添加的时候最好是手动添加到工具箱,VS自动添加时很奇的不会显示自定义图标,它默认添加的是控件项目下的obj文件夹下的DLL文件,如果你手动添加同一文件,却是会显示自定义图标的!很奇怪的问题啊,有哪位仁兄知道如何解决这个自动添加不能显示自定义图标的问题么?

  • 相关阅读:
    POJ 1182 食物链 +POJ 2492 A Bug's Life 种类并查集
    Codeforces 884C Bertown Subway dfs判环
    HDU 2102 A计划 bfs
    Codeforces Round #442 (Div. 2) 877E
    Codeforces Round #443 (Div. 2) B. Table Tennis
    Codeforces Round #442 (Div. 2) D. Olya and Energy Drinks
    HDU 1495 非常可乐 BFS/数论
    Codeforces Round #442 (Div. 2) B. Nikita and string DP
    51Nod 1102 面积最大的矩形 +1272 最大距离 单调栈
    HDU 1286 找新朋友
  • 原文地址:https://www.cnblogs.com/dreamcat/p/1435418.html
Copyright © 2011-2022 走看看