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>
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>
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>
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!