none
Evento do User Control no WebForm. RRS feed

  • Pergunta

  • Bom dia,

    Gostaria de saber, como faço, para que o evento que eu criei no Web User Control, apareça nas propriedades do controle no WebForm que irá utiliza-lo.
    As propriedades do Web User Control aparecem, mas os eventos não!
    Alguem já fez isso?

    Já tentei colocar:
    [Browsable(true)]

    Obrigado.

    segunda-feira, 2 de abril de 2012 12:31

Respostas

  • Por incrível que pareça eu setei essa TAG, mas mesmo assim, não aparece!!!

    Acabei não fazendo com Web User Control.

    Obrigado mesmo assim!

    • Marcado como Resposta Harley Araujo quarta-feira, 4 de abril de 2012 13:28
    • Não Marcado como Resposta Harley Araujo quarta-feira, 4 de abril de 2012 13:28
    • Marcado como Resposta Harley Araujo terça-feira, 24 de abril de 2012 12:43
    terça-feira, 3 de abril de 2012 12:25

Todas as Respostas

  • André, bom dia.

    Dê uma olhada nesse thread e veja se é isso que você precisa.

    http://forums.asp.net/t/1389398.aspx/1


    Carlos Eduardo Ferreira

    segunda-feira, 2 de abril de 2012 12:35
  • Olá,

    Então, não é bem isso.

    O meu evento já funciona, está ok!!! 

    O que eu quero, é que não tenha que escrever na mão no webform, e sim, ao selecionar o evento na páginal, aparecer na lista de propriedades, onde tem o "Raio" o nome do evento, para dar 2 cliques e ele escrever o evento automaticamente no codebhind.

    É só para facilitar a vida de quem vai consumir o Web User Control... 
    Para as propriedades públicas, elas já aparecem na property window do Visual Studio!

    Obrigado.

    segunda-feira, 2 de abril de 2012 12:42
  • Opa,

    Voce tem que definir uma propriedade de evento na classe do web control que voce esta criando.

    public event EventHandler<MeuControleEventArgs> MeuBotaoClick;

    Mas nao se esqueça de definir qual evento vai disparar esse evento que voce deseja criar. Se vai ser um click de um button ou um textchanged de um textbox.

    Para isso voce pode fazer o seguinte:

    protected void ButtonClick(object sender, EventArgs e)
    {
    	if (MeuBotaoClick != null)
    	{
    		MeuBotaoClick(this, new MeuControleEventArgs(Propriedade1DoControle));
    	}
    }
    Crie tbm um eventargs para facilitar a recuperação dos dados do controler quando o evento for disparado.
    public class MeuControleEventArgs : EventArgs
    {
    	public MeuControleEventArgs(string Propriedade1)
    	{
    		this.Propriedade1 = Propriedade1;
    	}
    
    	public string Propriedade1 { get; private set; }
    }

    Espero que ajude.

    Abs!


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    segunda-feira, 2 de abril de 2012 13:13
  • Obrigado Wladiston,

    Ajuda bastante, mas meu evento já funciona, com delegate, etc.. Está ok!!!
    Eu só quero que ele apareça na janela "Properties" do webform quando vou consumir, para poder cria-lo com facilidade na página que vou consumir!!!

    Veja bem, eu criei com composite control, e os eventos aparecem:


    Porém, o mesmo não acontece com Web User Control

    segunda-feira, 2 de abril de 2012 13:25
  • Bom,

    Só para constar, não consegui fazer os eventos aparecerem no propertie conforme a imagem acima.
    Acabei optando por fazer um componente no lugar do Web User Control, utilizando o "CompositeControl" e ficou conforme a imagem acima.

    Obrigado à todos.

    segunda-feira, 2 de abril de 2012 19:15
  • André vc tem que setar uma TAG sobre seu event

    ex

    [Browsable(true)] 
    public event CommodityItemClickHandler CategoryItemClicked;


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    terça-feira, 3 de abril de 2012 11:59
    Moderador
  • Por incrível que pareça eu setei essa TAG, mas mesmo assim, não aparece!!!

    Acabei não fazendo com Web User Control.

    Obrigado mesmo assim!

    • Marcado como Resposta Harley Araujo quarta-feira, 4 de abril de 2012 13:28
    • Não Marcado como Resposta Harley Araujo quarta-feira, 4 de abril de 2012 13:28
    • Marcado como Resposta Harley Araujo terça-feira, 24 de abril de 2012 12:43
    terça-feira, 3 de abril de 2012 12:25