none
preciso detectar o controle clicado RRS feed

  • Pergunta

  • bem preciso detectar o item clicado independente de ser button ou textbox ou picturebox exemplo seria pegar o nome dele depois do click

    espero que possam me ajudar 

    sexta-feira, 25 de outubro de 2019 20:20

Respostas

Todas as Respostas

  • Boa tarde, tudo bem?

    Existe um evento específico para isto no C# que é Control.Click, onde Control pode ser qualquer um dos itens que você citou acima.

    Nesta documentação está detalhado o procedimento para o evento e uma tabela com os Controls aos quais este evento se aplica e com quais tipos de click:

    https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.click?view=netframework-4.8

    Espero que ajude. Atenciosamente,


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    segunda-feira, 28 de outubro de 2019 16:53
    Moderador
  • bem eu tenho um for que cria varias picturebox vamos supor para um color picker

    Pic até Pic1000 ou seja pic1,pic2,pic3,pic4 assim até o 1000 cada uma contem uma cor diferencial

    o problema é que não estou conseguindo criar o evento para todas e puxar os dado dela

    tipo Nome | Cor | Tag

    essas coisas tipo um if não to tendo muito resultado tentei varias formas tentando cria os evento

    código: 

    PictureBox Pic = new PictureBox();

    desculpa espero ter dado uma explicação melhor \:

    segunda-feira, 28 de outubro de 2019 17:29
  • Poderia nos mostrar o código neste for?

    Att,


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 29 de outubro de 2019 13:26
    Moderador
  • claro

    for (int i = 0; i < 1000; i++)
                    {
                    Random rnd = new Random();
                    Point size = new Point(10, 20);
                        Size loc = new Size(i - 290, 0);
                    Createpic(size, loc, "NewHexColor", rnd.Next(255), rnd.Next(255), rnd.Next(255));
                     if (i == 1000)
                    {
                        break;
                    };
                }

    terça-feira, 29 de outubro de 2019 13:35
  • O Createpic() é um método que você mesmo definiu, correto? O que ele faz exatamente?

    Att,


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 29 de outubro de 2019 17:02
    Moderador
  • chamando função do Createpic(

    ele cria varias picturebox

    com o nome "NewHexColor1","NewHexColor2" até "NewHexColor1000" e para de criar elas

    )

    função dentro do Createpic(

    definição do tamanho,

    definição das posições,

    definição do nome NewHexColor passando o i por final,

    definição das cores(x,y,z)

    )

    to precisando colocar os eventos para elas são adicionadas assim

    this.Controls.Add(picture);

    picture é a estrutura que recebe

    Createpic(size, loc, "NewHexColor"+i, rnd.Next(255), rnd.Next(255), rnd.Next(255));

    os paramentos acho que o mais importante talvez seria o terceiro que seria o nome

    para poder pegar as cores delas

    Imagens

    Código

    Inicio

    Gerada primeira

    Segunda gerada

    cada um é uma newhexcolor1,2,3,4 até 1000 agora preciso clica em uma e obter informações da que eu

    cliquei tipo o nome ou a cor dela

    Createpic(Tamanho, Localização, Nome, Corx, Cory, Corz);

    edit: eu tava querendo criar um evento único mas para todas e poder obter informações

    da que eu cliquei tipo a cor dela ou o nome dela


    • Editado Z.s2 terça-feira, 29 de outubro de 2019 18:19
    terça-feira, 29 de outubro de 2019 17:39
  • eu tava tentando alguma coisa do tipo

    PictureBox Picture = new PictureBox();
            protected void Picture_Click(object sender, EventArgs e)
            {
                MessageBox.Show("eae?");
            }

    terça-feira, 29 de outubro de 2019 21:09
  • resolvido picture.Click += (s, e) => { MessageBox.Show(picture.Name.ToString()); };

    • Marcado como Resposta IgorFKModerator quarta-feira, 30 de outubro de 2019 12:52
    terça-feira, 29 de outubro de 2019 21:22