Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya boleh mengakses Borang Windows secara dinamik dengan nama di C#?

Bagaimanakah saya boleh mengakses Borang Windows secara dinamik dengan nama di C#?

Barbara Streisand
Lepaskan: 2025-01-27 13:16:09
asal
617 orang telah melayarinya

How Can I Dynamically Access Windows Forms Controls by Name in C#?

dengan nama kawalan tetingkap Windows

Dalam C#, kawalan tetingkap Windows biasanya diperolehi dengan nama kawalan rujukan langsung. Walau bagaimanapun, apabila kawalan dihasilkan secara dinamik, kaedah ini menjadi tidak realistik. Untuk keadaan ini, kaedah penggantian yang lebih dinamik diperlukan.

Untuk mengakses kawalan tetingkap Windows secara dinamik mengikut nama, anda boleh menggunakan kaedah

. Katakan anda mempunyai dinamik Control.ControlCollection.Find yang dipanggil . Anda mahu menggunakan nama untuk mengakses item menu ini dengan pengaturcaraan. myMenu ToolStripMenuItem Berikut adalah cara menggunakan

kaedah untuk mencapai tujuan ini:

Find

Kaedah untuk menerima rentetan yang menunjukkan nama kawalan. Ia mengembalikan array yang mengandungi objek yang sepadan dengan nama. Dalam kes ini, anda akan mendapat array yang mengandungi
<code class="language-csharp">string name = "myMenu"; // 注意这里需要用字符串字面量,而不是变量myMenu
Control[] controls = this.Controls.Find(name, true); //第二个参数true表示递归查找子控件
if (controls.Length > 0 && controls[0] is ToolStripMenuItem menuItem)
{
    // 访问并操作控件
    menuItem.Enabled = false; // 例如,禁用菜单项
}
else
{
    // 控件未找到
    Console.WriteLine("Control not found.");
}</code>
Salin selepas log masuk

. Anda kemudian boleh menggunakan array ini untuk mengakses dan mengendalikan kawalan. Find Nota: Control myMenu Parameter kedua kaedah ditetapkan kepada ToolStripMenuItem, yang bermaksud pencarian rekursif untuk anak -anak syarikat. Jika tidak berada dalam sub -kontrol langsung tetingkap semasa, anda perlu menetapkannya ke untuk mencarinya. Jika kawalan tidak dijumpai, akan menjadi 0. Atas sebab keselamatan, adalah disyorkan untuk memeriksa jenis kawalan sebelum mengakses atribut kawalan kawalan. Find Kaedah membolehkan anda merujuk kawalan melalui nama dinamiknya, dengan itu menyediakan mekanisme yang fleksibel dan cekap untuk memproses tingkap kompleks dan dinamik. true

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengakses Borang Windows secara dinamik dengan nama di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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