PDA

View Full Version : سوال: فعال کردن دکمه ای بعد از اعتبار سنجی کامپوننت ها



barbimusic
جمعه 18 آبان 1397, 21:52 عصر
سلام دوستان . وقت به خیر .
من یه چنتا کامپوننت اعتبار سنجی برای تکست باکس و کمبوباکس دارم که میخام تا زمانی که کامپوننت ها IsValid نشدند دکمه ی ثبت فعال نشه . تک به تک نمیخام انجام بدم چون نمیشه . یه کد نوشتم برای این کار . ولی مشکل داره . میخاستم ببینم مشکلش کجاست ؟

button1.Enabled = !Controls.OfType<TextBox>().Any(x => string.IsNullOrEmpty(x.Text));



من کد رو که تریس کردم توی تکست با اینکه متن داره "" هستش .


اینو توی ایونت TextValidationg یا TextChanged گذاشتم و کار نمیکنه .
ممنونم

Mahmoud.Afrad
شنبه 19 آبان 1397, 07:44 صبح
مطمئن بشید که همه تکست باکسها باعث اجرای کدتون بشوند(رویداد همه تکست باکسها را تنظیم کنید).
اگر از کامپوننت خاصی استفاده میکنید باید نوع را در متد OfType اصلاح کنید.
اگر تکست باکس ها درون پنل یا هر container دیگری قرار دارند باید از پراپرتی Controls همان container استفاده کنید.

barbimusic
شنبه 19 آبان 1397, 10:47 صبح
مطمئن بشید که همه تکست باکسها باعث اجرای کدتون بشوند(رویداد همه تکست باکسها را تنظیم کنید).
اگر از کامپوننت خاصی استفاده میکنید باید نوع را در متد OfType اصلاح کنید.
اگر تکست باکس ها درون پنل یا هر container دیگری قرار دارند باید از پراپرتی Controls همان container استفاده کنید.

سلام .ممنونم اون مشکل حل شد . فقط الان یک مشکل دیگه هست اینه که من مثلا 6 تا تکست باکس دارم ولی 3 تاش الزامی هست که وارد بشه و میخام بعد از اینا فعال بشه ولی توی اون دستور Any میاد کل تکست باکس هارو میگیرده حتی اون غیر الزامی ها .
من کد بالا رو توی ایونت اون الزامی ها گذاشتم .

Mahmoud.Afrad
شنبه 19 آبان 1397, 12:14 عصر
سلام .ممنونم اون مشکل حل شد . فقط الان یک مشکل دیگه هست اینه که من مثلا 6 تا تکست باکس دارم ولی 3 تاش الزامی هست که وارد بشه و میخام بعد از اینا فعال بشه ولی توی اون دستور Any میاد کل تکست باکس هارو میگیرده حتی اون غیر الزامی ها .
من کد بالا رو توی ایونت اون الزامی ها گذاشتم .

یک لیست یا آرایه از تکست باکسهای الزامی ایجاد کنید و روی اون شرط را چک کنید.