VETOR DE COMPONENTES

SCORN 06/01/2010 18:25:32
#331237
Pessoal, é possivel criar vetor de componentes como fazemos em VB6?

chkbox(0)
chkbox(1)
chkbox(2)

Meu problema é que possuo 500 checkboxes, gostaria de poder percorre-los verificando se os mesmo estão checados ou não.
JWCELYO 06/01/2010 19:04:55
#331239
é em um datagrid isso que você que fazer SCORN?
SCORN 07/01/2010 08:21:36
#331272
Não, o que eu quero saber é se da pra fazer cada posição de um vetor ser um componente. veja o código fictício abaixo

foreach(combobox in comboboxies)
{
if(combobox.checked == true)
{
total++;
}
}


Hoje do jeito que eu faço, faço isso:
if(combobox1.checked == true) { total++; }
if(combobox2.checked == true) { total++; }
if(combobox3.checked == true) { total++; }
if(combobox4.checked == true) { total++; }
if(combobox5.checked == true) { total++; }


Sacou?

Bom dia a todos
ASHKATCHUP 07/01/2010 09:59:01
#331282
Resposta escolhida
Não sou o mestre em .NET e provavelmente existem vários métodos melhores, mas funcionou;


public partial class Form1 : Form
{
int i;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
i = 0;
foreach (object x in this.Controls)
{
if (x.GetType().Name == [Ô]CheckBox[Ô])
{
if (x.GetType().GetProperty([Ô]Checked[Ô]).GetValue(x,null).ToString() == [Ô]True[Ô])
{
i++;
}
}
}
MessageBox.Show(i.ToString());
}
}

SCORN 07/01/2010 10:00:54
#331283
AshKatchup, perfeito, funcinou perfeito, por que tirando os checks, só tenho mais 4 controles, 3 botoes e 1 label, então não vai pesar =D

Valeu!
ASHKATCHUP 07/01/2010 10:02:16
#331284
Se funcionou, fecha o tópico ae :)
SCORN 07/01/2010 10:05:54
#331286
Vou esperar um pouco mais, talvez alguem tenha outra solução.
No almoço eu fecho, relaxa ;)
ASHKATCHUP 07/01/2010 10:15:18
#331287
Sem problema. Não é pela pontuação, e sim pelo fato de que tópicos resolvidos ficam abertos por meses...
SCORN 07/01/2010 10:17:56
#331288
To sabendo ^^'
Mas é que como eu disse, nesse caso eu tenho poucos componentes, mas um dia pode aparecer de ter bastante componente e esse algoritmo pesar =)
ASHKATCHUP 07/01/2010 10:32:01
#331290
Entendo. Ai você pode usar o OFType.


private void button1_Click(object sender, EventArgs e)
{
i = 0;
foreach (CheckBox x in this.Controls.OfType<CheckBox>())
{
if (x.Checked)
{
i++;
}
}
MessageBox.Show(i.ToString());
}
SCORN 07/01/2010 10:34:57
#331291
auheuhaeae agora sou obrigado a fechar, não vai ter resposta melhor

Obrigado Ashkatchup
Tópico encerrado , respostas não são mais permitidas