yirengirl (伊人) :
如果找到了能不能给我Mail一份:[email protected]

解决方案 »

  1.   

    好的,不过好像没人回答我呀,苦恼死了,我希望发给我的是组合控件的例子,像RichTextBox那样的
      

  2.   

    买wrox《asp.net组件高级编程》,写得不错
      

  3.   

    哪里有下载的吗,我们这里没有这本书呀
    我只有ASP.NET高级编程
      

  4.   

    1.在设计中变化显示需要重写Render的方法。
    2.需要自己写设计器代码 具体我也没有写过:(
      

  5.   

    正在研究中,MSDN上有例子,可以搜索一下WebControl.
    csdn上有关这方面高手不多啊.......
      

  6.   

    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.ComponentModel;namespace HenryFan.WebControls
    {
    /// <summary>
    /// WebCustomControl1 的摘要说明。
    /// </summary>
    [DefaultProperty("Text"),
    ToolboxData("<{0}:ImageButton1 runat=server></{0}:ImageButton1>")]
    public class ImageButton : System.Web.UI.WebControls.WebControl, IPostBackEventHandler
    {

    public ImageButton(): base(HtmlTextWriterTag.Div  ) 
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }

    public String Text
    {
    get 
    {
    return (String) ViewState["Text"];
    } set 
    {
    ViewState["Text"] = value;
    }
    }
    public String LeftImage
    {
    get 
    {
    return (String) ViewState["LeftImage"];
    } set 
    {
    ViewState["LeftImage"] = value;
    }
    }
    public int LWidth
    {
    get 
    {
    if(ViewState["LWidth"]==null)
    return 0;
    return (int)ViewState["LWidth"];
    } set 
    {
    ViewState["LWidth"] = value;
    }
    }
    public int RWidth
    {
    get 
    {
    if(ViewState["RWidth"]==null)
    return 0;
    return (int)ViewState["RWidth"];
    } set 
    {
    ViewState["RWidth"] = value;
    }
    }
    public int BHeigth
    {
    get 
    {
    if(ViewState["BHeigth"]==null)
    return 0;
    return (int)ViewState["BHeigth"];
    } set 
    {
    ViewState["BHeigth"] = value;
    }
    }
    public int ButtonWidth
    {
    get 
    {
    if(ViewState["ButtonWidth"]==null)
    return 0;
    return (int)ViewState["ButtonWidth"];
    } set 
    {
    ViewState["ButtonWidth"] = value;
    }
    }

    public String RightImage
    {
    get 
    {
    return (String) ViewState["RightImage"];
    } set 
    {
    ViewState["RightImage"] = value;
    }
    }

    public String ClientImage
    {
    get 
    {
    return (String) ViewState["ClientImage"];
    } set 
    {
    ViewState["ClientImage"] = value;
    }
    }
    public event EventHandler Click;
    protected virtual void OnClick(EventArgs e) 
    {
             
    if (Click != null) 
    {
    Click(this, e);

    }
    public void RaisePostBackEvent(string eventArgument)
    {
             
    OnClick(new EventArgs());
    }
    protected override void AddAttributesToRender(HtmlTextWriter writer) 
    {
    base.AddAttributesToRender(writer);


    writer.AddAttribute(HtmlTextWriterAttribute.Style,"cursor:hand");
    writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "javascript:" + Page.GetPostBackEventReference(this));


                            

    protected override void RenderContents(HtmlTextWriter writer) 
    {

    string ButtonText="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\""
    +"style=\"border-collapse: collapse\" bordercolor=\"#111111\""
    +" height=\"22\">"
    +"<tr>"
    +"<td width=\"6\"  background=\""+this.LeftImage+"\"></td>"
    +"<td width=\""+this.ButtonWidth.ToString()+"\" background=\""+this.ClientImage +"\"><font size=\"2\">"
    +"<p align=\"center\">"+this.Text
    +"</font></td>"
    +"<td width=\"6\"background=\""+this.RightImage+"\">"
    +"</td>"
    +"</tr>"
    +"</table>";

    writer.Write(ButtonText);

    }
    }
    }
    还没完成,是一个自定义的WEB按钮