Ming的马甲

“好记性比不上烂笔头子,备忘技术的同时也记录了一些美好的回忆。”

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 自定义控件的图标设置

前提: 如下将要介绍的几种类型资源都要在其属性页窗口, 将 <生成操作> 属性, 设置为[嵌入的资源], 如图:
 
方法一:
 
直接在自定义控件项目中添加一个 *.bmp格式的图标文件, 并将其命名与主控件文件相同, 扩展名为 .bmp,
比如主控件文件名为: CustomButton.cs, 则图标文件命名为:  CustomButton.bmp .  编译项目.
然后在工具箱中添加此控件就可以看到刚刚设置的图标效果.
 
方法二:
 
图标文件名称与主控件名称不同时, 在类前如下设置.
 
[ToolboxBitmap(typeof(CustomButton), @"CustomButton1.bmp")]

public class CustomButton : CompositeControl, INamingContainer

{

//….;

}

编译项目,然后在工具箱中添加此控件就可以看到刚刚设置的图标效果. 
 
方法三:
 
图标文件名称与主控件名称不同时, 用本机绝对路径. 如下:
 
[ToolboxBitmap(@"E:\net\CustomButton(测试资源
文件)\CustomButton\CustomButton1.bmp")]

编译项目,然后在工具箱中添加此控件就可以看到刚刚设置的图标效果. 
 

 自定义控件嵌入JavaScript 文件资源

1. 定义元数据属性
 
[assembly: WebResource("CustomButton.CustomButton_JScript.js",

"application/javascript")]

namespace CustomButton

{

//….;

}
 
使用WebResource实际上是WebResourceAttrbute类,为了使用该类需要引入System.Web.UI命名空间。第一个参数
是Web资源的名称,第二个参数是MIME类型。Web资源的名称必须遵守特定的规则:命名空间名称+目录名称+文件名称
,中间用半角点字符分割。
 
2. 使用
 

if (!Page.ClientScript.IsClientScriptIncludeRegistered("MyJavaScript"))
{
Page.ClientScript.RegisterClientScriptInclude(
"MyJavaScript",
Page.ClientScript.GetWebResourceUrl(
this.GetType(),
"CustomButton. CustomButton _JScript.js"));

}
 

自定义控件嵌入图片(gif/jpg 等) 文件资源

1. 定义元数据属性
 
[assembly: WebResource("CustomButton.NoPic.gif", "image/gif")]

namespace CustomButton

{

//….;

}
2. 使用
 
string strImageSrc = Page.ClientScript.GetWebResourceUrl

(
this.GetType(), "CustomButton.NoPic.gif");

System.Web.UI.WebControls.Image img
= new

System.Web.UI.WebControls.Image();

img.ImageUrl
= strImageSrc;
 

 Page.ClientScript属性:获取用于管理脚本、注册脚本和向页添加脚本的ClientScriptManager对象.

 Page.ClientScript.GetWebResourceUrl():获取对程序集内资源的 URL 引用.

 Page.ClientScript.RegisterClientScriptInclude("MyScript","myJs.js"):添加外部脚本。

 Page.ClientScript.RegisterClientScriptBlock():添加脚本块。

 Page.ClientScript.RegisterClientStartupScript():注册脚本并在页面加载完时执行。

 
 
 
posted on 2011-02-22 17:50  德明  阅读(3523)  评论(0编辑  收藏  举报