Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menguasai dan Menetapkan Nilai dengan Cekap kepada Berbilang Kotak Teks Dinamakan Secara Berurutan dalam Aplikasi Borang Windows?

Bagaimanakah Saya Boleh Menguasai dan Menetapkan Nilai dengan Cekap kepada Berbilang Kotak Teks Dinamakan Secara Berurutan dalam Aplikasi Borang Windows?

Barbara Streisand
Barbara Streisandasal
2025-01-07 13:57:44718semak imbas

How Can I Efficiently Iterate Through and Assign Values to Multiple Sequentially Named Textboxes in a Windows Forms Application?

Lelaran Melalui Berbilang Kotak Teks

Dalam aplikasi borang Windows, anda telah menghadapi cabaran untuk menggelung melalui 37 kotak teks dengan nama berurutan, setiap satu dinamakan "DateTextBox" diikuti dengan akhiran berangka. Tugas anda melibatkan memberikan nilai berdasarkan pembilang gelung 'i' pada kotak teks ini.

Pendapatan Kawalan Rekursif

Untuk menangani perkara ini dengan berkesan, manfaatkan kaedah sambungan yang boleh secara rekursif mendapatkan semula semua kawalan dan sub-kawalan jenis tertentu. Berikut ialah kod untuknya:

public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
{
    var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
    return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children);
}

Pelaksanaan

Untuk menggunakan kaedah ini, anda boleh mendapatkan semula semua kotak teks yang terdapat dalam borang anda:

var allTextBoxes = this.GetChildControls<TextBox>();

Setelah senarai kotak teks diperoleh, anda boleh mengulang setiap satu dan menetapkan nilai yang sesuai berdasarkan 'i' kaunter:

foreach (TextBox tb in allTextBoxes)
{
    tb.Text = ...;
}

Dengan melaksanakan pendekatan ini, anda boleh mengulangi dengan cekap melalui banyak kotak teks dan menetapkan nilai secara dinamik, walaupun jika ia diletakkan dalam panel bersarang.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menguasai dan Menetapkan Nilai dengan Cekap kepada Berbilang Kotak Teks Dinamakan Secara Berurutan dalam Aplikasi Borang Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn