PDA

View Full Version : تشخیص پایان EditChange



Mask
یک شنبه 09 خرداد 1389, 01:35 صبح
با سلام
از Event ادیت در قسمت EditChange می توان تشخیص داد که ادیت در حال چنج شدن هست.
حالا برا برعکسش باید چیکار کرد.
یعنی تشخیص بدیم که ادیت در حال چنج شدن نیست؟
ممنون.

SAASTN
یک شنبه 09 خرداد 1389, 08:37 صبح
نمی دونم درست متوجه شدم یا نه، ولی می تونید از Application.OnIdle برای تشخیص بی کار شدن سیستم استفاده کنید. حالا اگه توی همون EditChange یه فلگ رو ست کرده باشین، توی OnIdle در صورت True بودن اون فلگ متوجه می شیم که سیستم بعد از ویرایش Edit مورد نظر بی کار شده.
موفق باشید

Mahmood_M
یک شنبه 09 خرداد 1389, 10:46 صبح
با سلام
از Event ادیت در قسمت EditChange می توان تشخیص داد که ادیت در حال چنج شدن هست.
حالا برا برعکسش باید چیکار کرد.
یعنی تشخیص بدیم که ادیت در حال چنج شدن نیست؟
ممنون.
بستگی داره که بخواید چه استفاده ای بکنید ...
اگر می خواید در پایان وارد کردن مقداری در Edit اون مقدار رو بررسی کنید ، باید رویدادی مثل OnExit رو برای این منظور در نظر بگیرید یا اینکه یک دکمه کنار Edit بزارید تا کاربر روش کلیک کنه و نتیجه بررسی بشه ، وگرنه تا زمانی که مکان نما ! درون Edit هست نمیشه گفت که دیگه Change تمام شده و کاربر دیگه چیزی رو تایپ نخواهد کرد ، یا باید کاربر از Edit خارج بشه و به سراغ کنترل دیگه ای بره یا اینکه مستقیما روی مثلا یک دکمه کلیک کنه تا نتیجه بررسی بشه ...

نمی دونم درست متوجه شدم یا نه، ولی می تونید از Application.OnIdle برای تشخیص بی کار شدن سیستم استفاده کنید. حالا اگه توی همون EditChange یه فلگ رو ست کرده باشین، توی OnIdle در صورت True بودن اون فلگ متوجه می شیم که سیستم بعد از ویرایش Edit مورد نظر بی کار شده.
موفق باشید
ممکنه برنامه بیکار باشه ولی کار کاربر با Edit هنوز تموم نشده باشه ! ، شاید داره فکر می کنه که چی بنویسه ! ...
به هر حال ، به نظر من یا کاربر باید از Edit خارج بشه یا اینکه مستقیما پایان کار رو اعلام کنه ، البته راه های دیگه ای هم هست ، مثلا فرض کنید Edit شما باید یک عدد 2 رقمی رو از کاربر بگیره ، برای این کار MaxLength مربوط به Edit رو روی 2 تنظیم می کنید و در OnChange مربوط به Edit مقدار ورودی ( طولش رو ) چک می کنید ، اگر 2 بود که نتیجه رو بررسی می کنید و نتیجه رو به کاربر اعلام می کنید و ...
اگر هم می خواید در خارج از خود Edit مقدارش رو بررسی کنید یا بررسی کنید که آیا فوکوس روش هست یا نه می تونید مقدار خاصیت Focused اون رو بررسی کنید ...
راه های دیگه ای هم باید باشه ولی باید هدف اصلی مشخص بشه ...

موفق باشید ...