Ir para conteúdo
Sistema de Servidores de Jogos ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

C# Duvida com vários "PictureBox" em um mesmo programa


Posts Recomendados

Ae pessoas e BaixarHack =D

 

Outra duvida cruel =/ vou postar a imagem que acho que fica mais facil:

 

Capture010-20111118.jpg

 

 

O programa vai ficar com "Events" de click excessivos (16), e não sei como posso fazer pra diminuir para uma unica função, fazendo chamadas assim que eu clicar em qualquer um dos PictureBox.

 

O que eu tenho que realmente fazer é um jogo que chama "reversi", que tem dimensão 10x10, e isso da 100 "Events"!!! Queria saber se há outro modo de fazer isso sem ter que declarar evento por evento, pois fazendo assim o programa vai começar com 1000 linhas de cara...

 

Obrigado desde já ^^

 

PS: Já tinha feito um post parecido em um dos meus outros tópicos, mais achei melhor criar outro para melhorar a área de pesquisa do fórum.

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/
Compartilhar em outros sites

Você quer fazer a função de limites excessivos em uma só?é isso?

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/#findComment-4730519
Compartilhar em outros sites

Hmm, não....

 

Aqui vai o codigo fonte:

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

pictureBox1.Image = System.Drawing.Image.FromFile(@"C:\tenso.jpg");

 

}

int x = 0;

private void pictureBox2_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox2.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox2.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox2.Enabled = false;

}

 

private void pictureBox3_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox3.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox3.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox3.Enabled = false;

}

 

private void pictureBox4_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox4.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox4.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox4.Enabled = false;

}

 

private void pictureBox5_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox5.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox5.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox5.Enabled = false;

}

 

private void pictureBox6_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox6.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox6.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox6.Enabled = false;

}

 

private void pictureBox7_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox7.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox7.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox7.Enabled = false;

}

 

private void pictureBox8_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox8.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox8.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox8.Enabled = false;

}

 

private void pictureBox9_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox9.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox9.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox9.Enabled = false;

}

 

private void pictureBox10_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox10.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox10.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox10.Enabled = false;

}

 

private void pictureBox11_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox11.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox11.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox11.Enabled = false;

}

 

private void pictureBox12_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox12.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox12.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox12.Enabled = false;

}

 

private void pictureBox13_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox13.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox13.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox13.Enabled = false;

}

 

private void pictureBox14_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox14.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox14.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox14.Enabled = false;

}

 

private void pictureBox15_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox15.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox15.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox15.Enabled = false;

}

 

private void pictureBox16_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox16.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox16.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox16.Enabled = false;

}

 

private void pictureBox17_Click(object sender, EventArgs e)

{

if (x % 2 == 0)

pictureBox17.Image = System.Drawing.Image.FromFile(@"C:\x.jpg");

else

pictureBox17.Image = System.Drawing.Image.FromFile(@"C:\o.jpg");

x++;

pictureBox17.Enabled = false;

}

}

}

Como você pode ver o programa ficou muito grande, queria saber como fazer pra diminuir esse tanto de "Event" de clicks.

 

Se souber algo que eu possa fazer ^^

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/#findComment-4730868
Compartilhar em outros sites

Utilize um array do tamanho de eventos, assim economizando linhas.

Meus brinquedos em WinAPI:

Calculador

MemoryScanner

Faça parte também da DarkProgramming Team!

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/#findComment-4738944
Compartilhar em outros sites

É eu tentei fazer isso, o problema é que não tenho ideia de como organizar isso em array.

 

Eu vi na net que o cara usava isso para controlar os clicks:

 

this.squareControls[i, j].Click += new EventHandler(this.SquareControl_Click);

 

Aqui o compilador não reconheceu o formato "this.", o "SquareControls" eu acho que é o nome da matriz que ele usou, por que tinha isso em cima do laço:

 

this.squareControls = new SquareControl[8, 8];

 

Ou seria "squareControls"(letra minuscula no square) o nome da matriz?

 

Em todo caso queria saber como usar um laço para controlar eventos de quicks onde temos varias opções, como vocês viram no código original, não acha nada disso na net ¬¬'

 

Obrigado galera da WC pela força de sempre ^^

 

 

 

 

 

 

 

 

 

PS: se quiserem eu crio outro tópico com essas duvidas, isso ajuda a melhorar a área de pesquisa do fórum.

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/#findComment-4740048
Compartilhar em outros sites

Não manjo quase nada de C#, mas pela source estou vendo que a cada click, aparece uma imagem.

Ex:

1 click = x

2 clicks = o

Imagem fica inclicavel

 

Faça apenas uma função, para que o programa reconheça isso.

Depois com apenas 1 linha de código para cada PictureBox, você pode chamar a função. Assim, economizando linhas.

Meus brinquedos em WinAPI:

Calculador

MemoryScanner

Faça parte também da DarkProgramming Team!

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/#findComment-4740397
Compartilhar em outros sites

Tenso...

Não ficaria + simples usando botoes e mudando a caption deles pra X ou O dependendo da vez do jogador?

Quanto ao número de eventos realmente não sei se da pra por um array e nem como ficaria xD

Já tive problemas do tipo tbm, é realmente chato ter q escrever tantos eventos :/

Abraço e boa sorte ae xD

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/#findComment-4740462
Compartilhar em outros sites

Hmm verdade, se eu colocar uma linha pra cada vez que clicar e chamar uma função o programa já fica menor \o/

 

Assim já fica melhor, e acho que fica mais rápido para executar também.

 

Você sabe como eu posso fazer pra alterar determinado "pictureBox" ou outra coisa, por exemplo, o pictureBox1 se eu colocar pictureBoxX, com X valendo um numero inteiro controlado pelo laço, ele não faz os comando (por ex. se X=1, ele não acessa o pictureBox1).

 

Tem algo que eu tenha que colocar, tipo, pictureBox[X], pictureBox.X, ou pictureBox.{X} (operadores assim...) para acessar o pictureBox?

 

Veja o laço que eu tentei usar (só pra testar):

int i,j;

for(i = 0; i < 4 ; i++)

for (j = 0; j < 4; j++)

{

pictureBox.Visible = false;

}

Link para o comentário
https://www.webcheats.com.br/topic/1061385-c-duvida-com-v%C3%A1rios-picturebox-em-um-mesmo-programa/#findComment-4740810
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.