在Render中写:
ImageUrl.Click +=  new System.EventHandler(ImageUrl1_Click);

解决方案 »

  1.   

    对不起应该写在 CreateChildControls中
      

  2.   

    ImageUrl.Click +=  new System.EventHandler(ImageUrl1_Click);这句话怎么写呀????
      

  3.   

    to MasterLRC(但丁)
       ImageUrl.Click +=  new System.EventHandler(ImageUrl1_Click);
       意思我明白了,是要给imageurl的重新赋个点击事件,但是ImageUrl1_Click是指得什么?给属性赋点击事件我知道怎么做,但这个imageurl的属性编辑框是用
    Editor("System.Web.UI.Design.ImageUrlEditor, System.Design",GetType(UITypeEditor))定义出来的,我怎么获得它的点击事件?   不知道其他人还有什么见解?
      

  4.   

    只有两个 HTML 窗体元素(“按钮”(Button) 和“图像按钮”(ImageButton))引起窗体回发。如果自定义控件呈现不引起回发的 HTML 元素(如“文本框”(TextBox) 或“链接按钮”(LinkButton)),而您希望控件启动回发,则可以在 ASP.NET 中通过依靠客户端脚本(JScript、JavaScript)的事件结构进行编程来实现这一功能。
      

  5.   

    to MasterLRC(但丁) 
       不好意思,是我开始没说清楚,你后面的理解对了。imageurl在设计器中点击会弹出对话框,这个在单控件的时候没问题,但我把ImageButton作为自定义控件的子控件时,在设计器中显示时属性设置不能打开对话框了。   我这要求的比较急,望大家多给意见呀!
      

  6.   

    using System;
    using System.Web.UI;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.ComponentModel;
    using System.Web.UI.Design;
    using System.Drawing.Design;namespace CustomControls
    {
    /// <summary>
    /// Test 的摘要说明。
    /// </summary>
    public class Test : Control
    {
    [EditorAttribute(typeof(System.Web.UI.Design.ImageUrlEditor), typeof(UITypeEditor))]
    public string imageURL
    {
    get
    {
    return imgURL;
    }
    set
    {
    imgURL = value;
    }
    }
    private string imgURL;
    protected override void CreateChildControls()
    {
    ImageButton img = new ImageButton();
    this.Controls.Add(img);
    } }
    }
      

  7.   

    to MasterLRC(但丁)  
        不好意思,你的代码只是我们实现的第一步,我们已经做到在自定义控件中添加ImageButton为子控件,并且使ImageButton这个子控件的属性也可以在设计器中显示和修改,主要就是imageurl这个属性是用系统的属性编辑器定义的,我试了很多方法就是无法在设计器中打开其属性设置对话框。
      

  8.   

    Private conSubButton1 As ImageButton
    属性定义 
    <DesignerSerializationVisibility(DesignerSerializationVisibility.Content), _
        NotifyParentProperty(True), PersistenceMode(PersistenceMode.InnerProperty), _
        Category("ChildControl"), Description("ImageButton")> _
        Public ReadOnly Property subImageButton1() As ImageButton
            Get
                Me.EnsureChildControls()
                Return conSubButton1
            End Get
        End Property
    创建子控件:
      Protected Overrides Sub CreateChildControls()         If conSubButton1 Is Nothing Then
                conSubButton1 = New ImageButton
             End If 
             MyBase.Controls.Add(mhtmlTable)
      End Sub主要就是创建一个自定义控件,用上面的代码把一个imagebutton作为一个子控件加入,并使之可在设计器中设定属性,现情况是imagebutton的都可在属性编辑器中修改,但imageurl却无法弹出对话框,我调查了一下,imageurl是用<Editor("System.Web.UI.Design.ImageUrlEditor, System.Design", GetType(UITypeEditor))>方法定义的,我想知道有什么解决方法?
      

  9.   

    are you sure? the following works for me
    [EditorAttribute(typeof(System.Web.UI.Design.ImageUrlEditor), typeof(UITypeEditor))]
    public string imageURL
    {
    get
    {
    return imgURL;
    }
    set
    {
    imgURL = value;
    }
    }
      

  10.   

    我已经测试了很多遍,也试了继承imagebutton,然后新加一个属性
    Private mOnMouseImageURL As String                
     
    <NotifyParentProperty(True), Category("Appearance"), DefaultValue(""), _
            Editor("System.Web.UI.Design.ImageUrlEditor, System.Design", _
            GetType(UITypeEditor)), Bindable(True)> _
        Public Property OnMouseImageURL() As String
                    Get
                Return mOnMouseImageURL
            End Get
                    Set(ByVal Value As String)
                mOnMouseImageURL = Value
            End Set
        End Property同样,我自己新建的控件做为另一个复合控件的子控件时,imageurl和mOnMouseImageURL这两个属性的编辑对话框无法打开。
      

  11.   

    public class MyImageButton : WebControl   //不是control
    [EditorAttribute(typeof(System.Web.UI.Design.ImageUrlEditor), typeof(UITypeEditor))]
    public string imageURL
    {
    get
    {
    return imgURL;
    }
    set
    {
    imgURL = value;
    }
    }
    private string imgURL;
    protected override void CreateChildControls()
    {
    ImageButton img = new ImageButton();
    this.Controls.Add(img);
                       }
    我试过了,可以显示图片类型对话框!
      

  12.   

    zheyang de tie 怎么还是没人能解呢???
      

  13.   

    实现Implements inamingcontainer接口?
      

  14.   

    回复人: gjinlin(阿林) ( ) 信誉:73  2004-06-25 13:31:00  得分: 0  
     
     
       实现Implements inamingcontainer接口?
      具体点???
     
      

  15.   

    to ghibrain(雨子杉) 
       你把你做的单控件MyImageButton作为另一个复合控件的子控件试试,你会发现图片类型对话框就无法打开了。
      

  16.   

    to ghibrain(雨子杉) 
       你把你做的单控件MyImageButton作为另一个复合控件的子控件试试,你会发现图片类型对话框就无法打开了。
    就是的呀