Osservando le statistiche mi sono accorto che molti arrivano sul mio sito cercando "ARRAY di Bottoni"...
Ora posto che questo ricerca sia molto vicina a come creare un array di controlli, mi sembra carino pubblicare il seguente brano di codice che da qualche lume sull'argomento.
Anche se onestamente sconsiglio questa pratica.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
public class ButtonArrayController
{
Button[] _buttons = new Button[4];
public void CreateControlList()
{
_buttons = new Button[4];
_buttons[0] = new Button(); // create a new item
_buttons[0].Text = "New";
_buttons[0].Click += new EventHandler(ButtonArrayController_Click);
_buttons[1] = new Button(); // edit element (select to edit)
_buttons[1].Text = "Edit";
_buttons[1].Click += new EventHandler(ButtonArrayController_Click);
_buttons[2] = new Button(); // delete element (select to delete)
_buttons[2].Text = "Delete";
_buttons[2].Click += new EventHandler(ButtonArrayController_Click);
_buttons[3] = new Button(); // commit from new and edit
_buttons[3].Text = "Save";
_buttons[3].Click += new EventHandler(ButtonArrayController_Click);
}
public void SetStatus(int status)
{
for (int i = 0; i < 4; i++) { _buttons[0].Enabled = false; }
switch (status)
{
case 0: { _buttons[0].Enabled = true; break; } // init
case 1: { _buttons[1].Enabled = true; _buttons[2].Enabled = true; break; } // from grid click
case 2: { _buttons[3].Enabled = true; break; } // after case 0 or 1
}
}
public void ButtonArrayController_Click(object sender, EventArgs e)
{
// do action here..
}
}
Ad ogni modo un array di controlli in c# è un array e non quella strana situazione che creava VB6, tanto comoda quanto rischiosa.
2 commenti:
Ritengo interessante l'idea di mettere dei controlli in un array, tuttavia come "dici tu" potrebbe essere frutto di una "analisi superficiale".
P.s. Ti sbircio un po' il blog ! che non mi sembra affatto male.
Complimenti.
Quando da progettazione si aggiungono dei controlli su un form, questi fanno sempre parte di un array.
Per un utilizzo non ambiguo, comodo e funzionale è sufficiente, mettere i controlli in un contenitore.
Se mettiamo 4 Buttons in Panel1, li potremmo raggiungere con il loro indice, l'indice sarà determinato dalla disposizione nel designer.cs
I Buttons si possono modificare con:
Panel1.Controls[0].Text = "Bottone0";
Panel1.Controls[1].Text = "Bottone1";
Panel1.Controls[2].Text = "Bottone2";
Panel1.Controls[3].Text = "Bottone3";
Posta un commento