codice per creare caselle di testo ...ciclo foreach per lo smaltimento controlli iterazioni saltare
private void btnAddIncrement_Click(object sender, EventArgs e)
{
SmartTextBox dynamictextbox = new SmartTextBox();
dynamictextbox.BackColor = Color.Bisque;
dynamictextbox.Width = this.tbWidth;
dynamictextbox.Left = (sender as Button).Right + this.lastLeft;
dynamictextbox.K = "Test";
this.lastLeft = this.lastLeft + this.tbWidth;
dynamictextbox.Top = btnAddStart.Top;
this.Controls.Add(dynamictextbox);
}
codice per rimuovere tutte le caselle di testo.
foreach (Control c in this.Controls)
{
if (c.GetType() == typeof(BnBCalculator.SmartTextBox))
{
count++;
//MessageBox.Show((c as SmartTextBox).K.ToString());
c.Dispose();
}
// else { MessageBox.Show("not txtbox"); }
}
quando clicco sul btnAddIncrement ottengo il seguente come previsto ...
Ma quando clicco azzerato manca ogni secondo testo. Vedi sotto ...
Non ho idea di quello che sta succedendo qui, ma questo è lo stesso, non importa quanto possa caselle di testo che aggiungo. Manca sempre ogni seconda scatola.
È possibile utilizzare solo il metodo 'OfType()' di LINQ. –
toadflakz
Esattamente. Ma è un po 'difficile scrivere un'espressione LINQ corretta al di fuori dell'IDE. Quindi ho appena scritto lo 'pseudocodice' tenendo presente LINQ. – MobileX