Ciao,
chiedo scusa per la mia mancata partecipazione, visto che ho chiesto aiuto, ma ho avuto dei problemi.
Ho scritto del codice, funziona ma non riesco a fermarlo alla 10 posizione.
come faccio?
MAgari si può migliorare
Grazie in anticipo.
namespace Stack
{
public partial class Form1 : Form
{
List<string> s = new List<string>(9);
public Form1()
{
InitializeComponent();
}
string lettere = "abcdefghilmnopqrstuvwzxyàèò'ìjk0123456789[]{}_.;|!£$%&/";//dichiarazione variabile di lettere di possibile inserimento
private void cmdPush_Click(object sender, EventArgs e)
{
check();
string a = txtElement.Text;
s.Add(a); // aggiunge un elemento in coda all' array
switch (s.Count)
{
case 1: label1.Text = s[0];
break;
case 2: label2.Text = s[1];
break;
case 3: label3.Text = s[2];
break;
case 4: label4.Text = s[3];
break;
case 5: label5.Text = s[4];
break;
case 6: label6.Text = s[5];
break;
case 7: label7.Text = s[6];
break;
case 8: label8.Text = s[7];
break;
case 9: label9.Text = s[8];
break;
case 10: label10.Text = s[9];
break;
}
progressBar1.Minimum = 0;
progressBar1.Maximum = 10;
progressBar1.Value = s.Count;
cmdPush.Enabled = false;
txtElement.Clear();
txtElement.Focus();
}
private void Form1_Load(object sender, EventArgs e)
{
cmdPush.Enabled = false;
txtElement.Focus();
}
private void cmdPop_Click(object sender, EventArgs e)
{
string value = "";
int last = s.Count - 1;
if (last >= 0)
{
value = (string)s[last]; // legge l' ultimo elemento.
s.RemoveAt(last); // elimina l' ultimo elemento
}
switch (last)
{
case 0: label1.Text = "";
break;
case 1: label2.Text = "";
break;
case 2: label3.Text = "";
break;
case 3: label4.Text = "";
break;
case 4: label5.Text = "";
break;
case 5: label6.Text = "";
break;
case 6: label7.Text = "";
break;
case 7: label8.Text = "";
break;
case 8: label9.Text = "";
break;
case 9: label10.Text = "";
break;
}
progressBar1.Minimum = 0;
progressBar1.Maximum = 10;
progressBar1.Value = s.Count;
txtElement.Focus();
}
private void check()
{
if (txtElement.Text.Length<1)
{
cmdPush.Enabled = false;
}
else
{
cmdPush.Enabled = true;
}
}
private void txtElement_TextChanged(object sender, EventArgs e)
{
if(txtElement.Text.Length>0)
{
cmdPush.Enabled = true;
}
}
private void txtElement_KeyPress(object sender, KeyPressEventArgs e)
{
{//funzione che permette l'inserimento di soli numeri
int stringa = lettere.IndexOf(e.KeyChar);
if (stringa == -1)
{
if (e.KeyChar != 8)
{
e.Handled = true;
}
}
}
}
}
}