CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

自定制控件(只有10分了)

楼主linaren(JAVA/LINUX...)2003-09-01 09:59:28 在 .NET技术 / C# 提问

在我自定制的控件中是由   image   控件与其它控件组合而成的  
   
  其中image   的个数是由用户指定的(也即是动态的)  
   
  怎样使在我   自定制的控件   的属性栏中能由用户指定各个   image   控件的ImageUrl  
   
  最好能给出示例代码,先谢谢! 问题点数:10、回复次数:13Top

1 楼linaren(JAVA/LINUX...)回复于 2003-09-01 10:00:47 得分 0

在线等待!Top

2 楼csdn_bob(文子)回复于 2003-09-01 10:24:09 得分 8

很简单,添加一个属性用来放个数,然后在Reader方法中输出image控件.  
  imageUrl要由用户指定的话,可以用一个索引来设置.  
   
  code可以自己试着写一下,应该简单Top

3 楼linaren(JAVA/LINUX...)回复于 2003-09-01 11:01:03 得分 0

我说的不是输出问题,关键就是  
   
  ”怎样使在我   自定制的控件   的属性栏中能由用户指定各个   image   控件的ImageUrl“  
   
  因为要使控件使用方便,应友好地由用户在属性栏中选择   各个   image   控件的ImageUrl   就行了,而怎样在属性栏中出现选择多个ImageUrl   ,而且image   的个数是不定的  
   
  这怎样解决?谢谢!Top

4 楼sarmoo(Echo)回复于 2003-09-01 11:37:47 得分 2

作一个Editor继承自UITypeEditor,加到你的属性上。Top

5 楼sarmoo(Echo)回复于 2003-09-01 11:44:53 得分 0

作一个Editor继承自UITypeEditor,加到你的属性上就可以了。Top

6 楼linaren(JAVA/LINUX...)回复于 2003-09-01 11:51:33 得分 0

能给出示例吗?谢谢!Top

7 楼csdn_bob(文子)回复于 2003-09-01 11:55:06 得分 0

using   System;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.ComponentModel;  
   
  namespace   WebControlLibrary  
  {  
  ///   <summary>  
  ///   WebCustomControl1   的摘要说明。  
  ///   </summary>  
  [DefaultProperty("Text"),  
  ToolboxData("<{0}:WebCustomControl   runat=server></{0}:WebCustomControl>")]  
  public   class   WebCustomControl   :   System.Web.UI.WebControls.WebControl  
  {  
  private   string   text;  
  private   string[]   imageUrl;  
  private   uint   imageCount;  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("")]  
  public   string   Text  
  {  
  get  
  {  
  return   text;  
  }  
   
  set  
  {  
  text   =   value;  
  }  
  }  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("1")]  
  public   uint   ImageCount  
  {  
  get  
  {  
  return   imageCount;  
  }  
  set  
  {  
  this.imageCount   =   value;  
  }  
  }  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("1")]  
  public   string[]   ImageUrl  
  {  
  get  
  {  
  return   this.imageUrl;  
  }  
  set  
  {  
  this.imageUrl   =   value;  
  }  
  }  
   
   
  ///   <summary>  
  ///   将此控件呈现给指定的输出参数。  
  ///   </summary>  
  ///   <param   name="output">   要写出到的   HTML   编写器   </param>  
  protected   override   void   Render(HtmlTextWriter   output)  
  {  
  output.Write(Text);  
  }  
  }  
  }  
  Top

8 楼csdn_bob(文子)回复于 2003-09-01 11:56:39 得分 0

输出我就没有写了,在设计的时候,点imageUrl属性的话,就会出来一个对话框,输入东西的.  
  你可以试一下!Top

9 楼linaren(JAVA/LINUX...)回复于 2003-09-01 12:15:33 得分 0

谢谢!  
  还存在一个问题的,能不能使弹出的对话框能调用ImageUrlEditor类  
  以使用户可以进行选择就行了  
   
  怎么实现?Top

10 楼csdn_bob(文子)回复于 2003-09-01 14:12:12 得分 0

using   System;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.ComponentModel;  
   
  namespace   WebControlLibrary  
  {  
  ///   <summary>  
  ///   WebCustomControl1   的摘要说明。  
  ///   </summary>  
  [DefaultProperty("Text"),  
  ToolboxData("<{0}:WebCustomControl   runat=server></{0}:WebCustomControl>")]  
  public   class   WebCustomControl   :   System.Web.UI.WebControls.WebControl  
  {  
  private   string   text;  
  private   System.Web.UI.HtmlControls.HtmlImage[]   imageUrl;  
  private   uint   imageCount;  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("")]  
  public   string   Text  
  {  
  get  
  {  
  return   text;  
  }  
   
  set  
  {  
  text   =   value;  
  }  
  }  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("1")]  
  public   uint   ImageCount  
  {  
  get  
  {  
  return   imageCount;  
  }  
  set  
  {  
  this.imageCount   =   value;  
  }  
  }  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("1")]  
  public   System.Web.UI.HtmlControls.HtmlImage[]   ImageUrl  
  {  
  get  
  {  
  return   this.imageUrl;  
  }  
  set  
  {  
  this.imageUrl   =   value;  
  }  
  }  
   
   
  ///   <summary>  
  ///   将此控件呈现给指定的输出参数。  
  ///   </summary>  
  ///   <param   name="output">   要写出到的   HTML   编写器   </param>  
  protected   override   void   Render(HtmlTextWriter   output)  
  {  
  output.Write(Text);  
  }  
  }  
  }  
  Top

11 楼csdn_bob(文子)回复于 2003-09-01 14:30:53 得分 0

using   System;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.ComponentModel;  
  using   System.Drawing.Design;  
   
  namespace   WebControlLibrary  
  {  
  ///   <summary>  
  ///   WebCustomControl1   的摘要说明。  
  ///   </summary>  
  [DefaultProperty("Text"),  
  ToolboxData("<{0}:WebCustomControl   runat=server></{0}:WebCustomControl>")]  
  public   class   WebCustomControl   :   System.Web.UI.WebControls.WebControl  
  {  
  private   string   text;  
  private   string[]   imageUrl;  
  private   uint   imageCount;  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("")]  
  public   string   Text  
  {  
  get  
  {  
  return   text;  
  }  
   
  set  
  {  
  text   =   value;  
  }  
  }  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("1")]  
  public   uint   ImageCount  
  {  
  get  
  {  
  return   imageCount;  
  }  
  set  
  {  
  this.imageCount   =   value;  
  }  
  }  
   
  [EditorAttribute(typeof(System.Web.UI.Design.ImageUrlEditor),   typeof(UITypeEditor)),Bindable(true),  
  Category("Appearance")]  
  public   string[]   ImageUrl  
  {  
  get  
  {  
  return   this.imageUrl;  
  }  
  set  
  {  
  this.imageUrl   =   value;  
  }  
  }  
   
   
  ///   <summary>  
  ///   将此控件呈现给指定的输出参数。  
  ///   </summary>  
  ///   <param   name="output">   要写出到的   HTML   编写器   </param>  
  protected   override   void   Render(HtmlTextWriter   output)  
  {  
  output.Write(Text);  
  }  
  }  
  }  
  Top

12 楼csdn_bob(文子)回复于 2003-09-01 14:34:16 得分 0

不过这里还有一个问题,就是返回的不是一个集合的URL,而只有一个,我也是学习....Top

13 楼linaren(JAVA/LINUX...)回复于 2003-09-01 14:42:06 得分 0

bool   型能不能这样  
  //假设前面已经定义了   bool[]   flag   ;  
   
  [Bindable(true),  
  Category("Appearance"),  
  DefaultValue("1")]  
  public   bool   Bool  
  {  
  get  
  {  
  return   flag;  
  }  
  set  
  {  
  this.flag   =   value;  
  }  
  }  
  Top

14 楼linaren(JAVA/LINUX...)回复于 2003-09-01 15:13:35 得分 0

还是要谢谢了!Top

相关问题

  • 如何使自己定制的控件正常绘制其包含的控件组及自身的图形
  • 怎样定制DataGrid控件的样式?
  • 怎样定制dbgrid控件. 第五次
  • 关于定制控件的问题
  • 控件定制的相关问题
  • 工具箱中的自定义控件如何加上自己定制的图标?
  • 50分:各位大虾:求asp.net自定控件的制作方法(详细过程,以及控件各种属性的定制方法)
  • 对用户控件,定制控件开发过程的一个小小疑惑!!
  • 在定制控件中如何捕获DropDownList控件的SelectedIndexChanged事件?
  • 在定制控件中如何捕获DropDownList控件的SelectedIndexChanged事件?

关键词

  • 控件
  • 属性
  • 摘要
  • 用户
  • imagecount
  • imageurl
  • bindable
  • defaultvalue
  • 定制
  • webcustomcontrol

得分解答快速导航

  • 帖主:linaren
  • csdn_bob
  • sarmoo

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo