ورودی Text Box را محدود کنیم!
فرمی داشتم که در آن تعدادی text Box برای ورود اطلاعات نیاز بود. این text Box ها اختصاصا باید عدد می گرفتند و یه جورایی کاربر نباد حروف الفبا وارد می کرد. برای اینکه از خطاهایی که در صورت وارد کردن کاراکتر الفبا در این text Box ها هنگام محاسبات جلوگیری کنم باید مانع ورود حروف می شدم.
یعنی اگر کاربر حتی کلید های حروف را می فشرد ، هیچ چیزی در text Box ثبت نشود.
بعد از جستجو (Google) در منابع موجود به راه حل زیر رسیدم:
در Text Box مورد نظر event (رویداد) PreviewTextInput را اضافه می کنیم.
در CS فرم (Window در WPF) ابتدا NameSpace : System.Text.RegularExpression اضافه می کنیم.
کد زیر را در رویداد TextBox می نویسیم.
;("[Regex Regex = new Regex("[0-9
;(e.handled = Regex.IsMatched(e.text
# محدوده 0 تا 9 که مشخص کردم ، می تواند با هر محدوده دیگری و یا هر شرایطی که برای textBox خود می خواهید قائل شوید جایگزین شود. مثلا اگر می خواهید همه کاراکترها به جز این اعداد را بپذیرد می توانید به صورت ^9-0^ بنویسید. ^ : یعنی به جز!
#handled کلاسی از NameSpace:System.Windows.Forms است. این کلاس مقداردهی مربوط به روریداد KeyPress (فشردن صفحه کلید) را انجام می دهد.
سلام خانم زکیزاده
خسته نباشید
یه سؤالی ک داشتم میخواستم بدونم در کدی که در رویداد TextBox نوشتید ↓
;("[Regex Regex = new Rege("[0-9
;(e.handled = Regex.IsMatched(e.text
برنامه از طریق کدوم کلمه پی میبره ک ما عدد براش تعریف کردیم و در حقیقت از اعداد باید استفاده کنه؟
یا به عبارت دیگه
چه چیزی سبب میشه که محدوده اعداد مورد نظر درست برا برنامه تعریف بشه؟
امیدوارم منظور سؤالم رو متوجه شده باشید، اگه نه بیشتر توضیح بدم