Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menyekat kotak teks Borang Windows untuk menerima hanya input angka?
Dalam aplikasi Windows Windows, had input pengguna kotak teks sering diperlukan untuk dihadkan kepada format tertentu, seperti nilai. Artikel ini membincangkan dua kaedah untuk melaksanakan pengesahan ini:
<.> 1. Gunakan kawalan angka angka
Kawalan Numericupdown digunakan secara khusus untuk input berangka. Ia secara automatik akan menapis aksara bukan -digital, menyediakan antara muka yang mesra pengguna, dan mempunyai butang tambahan dan pengurangan yang dibina.
<.> 2. Pemprosesan peristiwa keyboard
atau, anda boleh mengendalikan peristiwa keyboard untuk mengelakkan input aksara bukan -digital. Dengan menulis semula acara KeyPress, mekanisme penapisan tersuai dapat dicapai. Berikut adalah serpihan kod C# yang menunjukkan kaedah ini:
Kod ini membolehkan input berangka, termasuk nombor perpuluhan dengan titik perpuluhan. Anda boleh menambah pemeriksaan lain untuk mengehadkan nombor atau membenarkan nilai negatif.
Dengan melaksanakan mana -mana kedua -dua kaedah ini, anda dapat mengehadkan kotak teks dengan berkesan hanya menerima input digital, dan memberikan pengguna pengalaman pengesahan data yang lebih jelas dan lebih efisien.
<code class="language-csharp">private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { // 阻止非数字字符和无效的小数点用法 if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.')) { e.Handled = true; } // 只允许一个小数点 if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1)) { e.Handled = true; } }</code>
Atas ialah kandungan terperinci Bagaimana untuk menyekat kotak teks Borang Windows untuk menerima hanya input angka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!