Ho un elenco dei miei nomi di caselle di testo e voglio trovare un controllo per nome. Come è possibile?Trova controllo per nome dai controlli di Windows Form
risposta
Utilizzare Control.ControlCollection.Find.
TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";
EDIT per richiedente:
Control[] tbxs = this.Controls.Find(txtbox_and_message[0,0], true);
if (tbxs != null && tbxs.Length > 0)
{
tbxs[0].Text = "Found!";
}
È possibile utilizzare:
f.Controls[name];
Dove f
è la variabile modulo. Questo ti dà il controllo con il nome name
.
Si noti che questo non funziona se il controllo è annidato (avrete solo trovare i controlli presenti in quel livello nella gerarchia di controllo). –
@ Michael: è corretto. – CesarGon
TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";
Se Controls.Find non viene trovato "textBox1" => errore. È necessario aggiungere il codice.
If(tbx != null)
Edit:
TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
If(tbx != null)
tbx.Text = "found!";
- 1. Trova controllo WPF per nome
- 2. Ottenere un controllo Windows Form per nome in C#
- 3. Ridimensionamento automatico dei controlli di Windows Form
- 4. Clic controllo utente - Windows Form
- 5. Controllo pannello nascosto mobile per Windows Form
- 6. Applicazione Windows Form, come comunicare tra i controlli personalizzati?
- 7. Controllo WebBrowser di Windows Form e iframe
- 8. Ottenere applicazione che esegue un controllo di Windows Form
- 9. Sospendi ridisegno di Windows Form
- 10. Windows Form: cattura MouseWheel
- 11. Svantaggi per l'hosting del controllo Windows Form nell'applicazione WPF?
- 12. Come verificare se due controlli si sovrappongono in Windows Form
- 13. Modifica controllo Windows Form da un altro progetto
- 14. Complesso .Net 2.0 Controllo Windows Form: da dove iniziare?
- 15. Strano comportamento del controllo a combinazione di Windows Form
- 16. Posso ospitare un Windows Form all'interno di un controllo
- 17. Interfaccia Web per l'applicazione Windows Form
- 18. Come si ottengono tutti i controlli di un modulo in Windows Form?
- 19. Trova controllo parent di ToolStripMenuItem
- 20. Windows Form - ErrorProvider + DataGridView
- 21. Allineamento dei controlli su un Windows Form di Visual Studio 2012?
- 22. Passaggio da Windows Form a Web Form
- 23. VS2010: Come evitare problemi di progettazione di Windows Form quando si lavora con controlli utente ereditati?
- 24. Chiamare un Windows Form con il suo nome di classe
- 25. Come si aggiunge una barra di scorrimento a un controllo Panel con molti controlli nell'applicazione Windows Form?
- 26. Come si ottengono i valori dai controlli dinamici in un controllo ListView sul postback?
- 27. Windows Form: qual è il modo giusto per consentire i controlli sovrapposti?
- 28. Linea problema rottura con controllo etichetta in Windows Form
- 29. Trova controllo in loginview
- 30. Trova componenti in una finestra di dialogo C# (non controlli)
TextBox tBox = this.Controls.Find (txtbox_and_message [0, 0], true) .FirstOrDefault() come TextBox; Va bene? –
Ottenere questo errore .. .net framework 2.0 .. 'System.Array' non contiene una definizione per 'FirstOrDefault' e nessun metodo di estensione 'FirstOrDefault' che accetta un primo argomento di tipo 'System.Array' potrebbe essere trovato (sei tu? Manca una direttiva using o un riferimento all'assembly?) –
Stai aggiungendo in modo dinamico la casella di testo nel modulo durante il runtime? In tal caso, è possibile assegnare un nome univoco a ciascuna casella di testo e utilizzare controls.find per trovare la casella di testo con il suo nome univoco. – bla