CONTROLES EM TEMPO DE EXECUO

 Tópico anterior Próximo tópico Novo tópico

CONTROLES EM TEMPO DE EXECUO

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#474468 - 12/06/2017 15:46:19

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Última edição em 12/06/2017 15:46:41 por PERCIFILHO

Boa tarde, amigos.
Gostaria de saber onde estou errando ao criar controles em tempo de execuo. O que estou []tentando[] fazer assim:
Tenho 3 Painis e dentro deles vou inserir algumas PictureBoxes. Estou fazendo assim:
int posicaoinicial_X = 10; int posicaoinicial_Y = 10;
int posicao = 35;
foreach (var item in jogador1)
{
    PictureBox pic = new PictureBox();
    pic.Image = Image.FromFile(item.Imagem);
    pic.Location = new Point(posicaoinicial_X, posicaoinicial_Y);
    pic.Size = new Size(30, 60);
    pnlJogador1.Controls.Add(pic);
    posicaoinicial_X += posicao;
}

Aqui, ele cria as PictureBoxes dentro do primeiro painel.
Fao a mesma operao para criar os PictureBoxes dentro do segundo painel (pnlJogador2), s que simplesmente no cria, o segundo painel fica vazio.
Algum consegue me dar uma luz?


____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

#474469 - 12/06/2017 16:01:25

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Ah, pessoal, me desculpem, mas eu cometi um erro infantil. Antes de criar as Pictures dentro dos painis eu estava criando no Form, ento eu usava outras coordenadas. Esqueci de alterar essas coordenadas para mostrar nos painis, por isso que parecia que no estava criando. Estava, mas em outras coordenadas.
Agora j corrigi o erro e est tudo conforme eu planejei. Obrigado a todos os que pelo menos leram o post.
At mais.

____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

#474497 - 13/06/2017 14:40:11

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Bom, pessoal, aproveitando o mesmo tpico aberto, estou com a seguinte dvida:
Se eu criar, por exemplo, 3 PictureBox dentro do Panel em tempo de execuo, como estou fazendo acima;
como fazer para associar um mtodo quando clicar numa PictureBox? Terei que definir um nome para cada uma delas na criao?
Ser que existe outra maneira, ou no possvel fazer isso?

____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

Resposta escolhida #474499 - 13/06/2017 16:49:34

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 13/06/2017 16:50:28 por JABA

Voc precisa criar um handle para cada imagem.

int posicaoinicial_X = 10; int posicaoinicial_Y = 10;
int posicao = 35;
foreach (var item in jogador1)
{
    PictureBox pic = new PictureBox();
    pic.Image = Image.FromFile(item.Imagem);
    pic.Location = new Point(posicaoinicial_X, posicaoinicial_Y);
    pic.Size = new Size(30, 60);
    pnlJogador1.Controls.Add(pic);
    posicaoinicial_X += posicao;
    pic.Click += new System.EventHandler(this.pic_Click);
}

private void pic_Click(object sender, EventArgs e)
{
    MessageBox.Show(sender.Name);
}



_______________________________________________________________________________________________

Se a alma ou esprito so imateriais, como eles fazem para se localizar quando o corpo est em movimento?



#474512 - 14/06/2017 09:48:39

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Bom dia, Jaba.
Pois eu criei o handle da forma como voc mostrou, porm, no evento Click, se eu quiser mostrar o nome do controle,
MessageBox.Show(sender.Name); aparece o erro:
object does not contain a definition for []Name[] and no extension method []Name[] accepting a first argument of type []object[] could be found
Eu preciso de uma maneira onde eu clico na terceira imagem, por exemplo, e o programa saiba que eu estou clicando nela e no em outra.

____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

#474514 - 14/06/2017 13:20:00

JABA
CABO FRIO
Cadast. em:Agosto/2005


s fazer uma converso. No se esquea de dar um nome para a imagem, seno vai aparecer uma mensagem vazia.

MessageBox.Show(((PictureBox) sender).Name);




_______________________________________________________________________________________________

Se a alma ou esprito so imateriais, como eles fazem para se localizar quando o corpo est em movimento?



#474515 - 14/06/2017 14:17:49

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Show de bola, Jaba, isso a, muito obrigado mesmo.
At mais.

____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

#474516 - 14/06/2017 15:59:02

FFCOUTO
COM LEVY GASPARIAN
Cadast. em:Março/2005


Porque voc no utiliza a propriedade TAG existente no PictureBox? Tal propriedade, pode inclusive, armazenar um objeto. E com isso voc poderia manipular muito mais facilmente a sua rotina.

Para atribuir:
pic.Tag = SeuObjeto;


Para obter o contedo
var obj = (SeuObjeto)pic.Tag;


Cursos de Excel e VB6:
cursoexcelvba.com.br


#474625 - 20/06/2017 08:47:53

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Última edição em 20/06/2017 08:48:17 por PERCIFILHO

Obrigado, FFCOUTO, mas fiz como o JABA sugeriu e atendeu minha necessidade.
Havia me esquecido de encerrar.
At mais.


____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por PERCIFILHO em 20/06/2017 08:49:11