Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengakses Kawalan Borang Windows Dijana Secara Dinamik mengikut Nama?

Bagaimana untuk Mengakses Kawalan Borang Windows Dijana Secara Dinamik mengikut Nama?

Susan Sarandon
Lepaskan: 2025-01-27 12:56:08
asal
339 orang telah melayarinya

How to Access Dynamically Generated Windows Forms Controls by Name?

Akses dinamik kepada kawalan Borang Windows mengikut nama

Apabila menggunakan kawalan yang dijana secara dinamik dalam Borang Windows, mungkin sukar untuk mengaksesnya secara pengaturcaraan menggunakan nama yang diberikan secara dinamik. Ini menjadi perlu apabila merujuk item menu yang dibuat daripada fail XML.

Soalan:

Bagaimanakah kita boleh mengakses ToolStripMenuItem mengikut nama walaupun ia dijana secara dinamik?

Pertimbangkan situasi berikut:

<code>// 常规方法(对于动态生成的控件不可行)
ToolStripMenuItem myMenu = this.myMenu;

// 期望方法(可以通过名称引用控件)
string name = myMenu;
this.name...</code>
Salin selepas log masuk

Penyelesaian:

Kunci untuk mengakses kawalan secara dinamik ialah menggunakan kaedah Control.ControlCollection.Find. Kaedah ini membolehkan kami mencari kawalan dalam koleksi kawalan berdasarkan namanya.

Untuk mengakses ToolStripMenuItem mengikut nama, anda boleh menggunakan kod berikut:

<code>this.Controls.Find(name);</code>
Salin selepas log masuk

Ini akan mengembalikan tatasusunan kawalan yang sepadan dengan nama yang ditentukan. Anda kemudiannya boleh mengakses kawalan pertama dalam tatasusunan untuk merujuk item menu.

Contohnya:

<code>ToolStripMenuItem myMenu = 
    (ToolStripMenuItem)this.Controls.Find(name)[0];</code>
Salin selepas log masuk

Menggunakan kaedah ini, anda boleh merujuk item menu secara dinamik mengikut nama, walaupun ia dibuat pada masa jalan.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Kawalan Borang Windows Dijana Secara Dinamik mengikut Nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan