PDA

View Full Version : سوال: یک ایده ی جدید



peon13
شنبه 08 مهر 1391, 17:07 عصر
سلام به برنامه نوسی های عزیز

من یه برنامه دارم مینویسم، یه قسمتی داره که نیازمند ایده و خلاقیت شما عزیزان هست.

من یه textBox دارم و یه تایمر. میخوام وقتی کاربر دست از نوشتن در textBox کشید timer شروع به کار بکنه؟

میشه؟:لبخند:

ممنون میشم هر کسی کمک کنه.:قلب::قلب::قلب:

Hajivandian
شنبه 08 مهر 1391, 17:35 عصر
سلام،
این کار سختی نیست ولی برای پیاده سازیش به نظرم جواب دادن به سوالات زیر واجبه:
1-"وقتی کاربر دست از نوشتن کشید". این میتونه چند حالت داشته باشه:

کاربر متنش رو مینویسه و فکوس رو از روی تکست باکس برمیداره
کاربر در حال نوشتنه و اگر وارد کردن حروفی که داره تایپ میکنه از یه زمانی بیشتر شد یعنی دست از کار کشیده

2- دوست دارم بدونم بعد تایمر قراره چیکار کنه(محض کنجکاوی)

حداقل به سوال اول جواب بده که بتونم راهنماییت بکنم.

مهرداد صفا
شنبه 08 مهر 1391, 20:39 عصر
سلام
با فرض اینکه با مثلا با گذشت دو ثانیه از تایپ شدن آخرین کاراکتر کاربر دست از نوشتن کشیده است؛ میتوانید در ابتدای روالی که رویداد KeyPress تکست را هندل میکند خصوصیت Enabled مربوط به تایمر را false کنید سپس Interval را روی دو ثانیه تنظیم کنید و مجددا Enabled را true کنید تا تایمر دوثانیه بعد شروع به کار کند و اگر مجددا حرفی نوشته شد تایمر یک بار دیگر غیر فعال شده و فعال میشود، این روند ادامه دارد تا به مدت دوثانیه کلیدی فشرده نشود و رویداد Tick اتفاق بیفتد.
نکته:
If your Timer is set for a 5000-millisecond interval, and you call Stop at around 3000 milliseconds, calling Start will cause the Timer to wait 5000 milliseconds before raising the Tick event.
از MSDN- Timer.Stop Method (System.Windows.Forms)

alibbest59
شنبه 08 مهر 1391, 20:45 عصر
دوست عزیز شما می تونید از رویداد text change در textbox استفاده کنید

alibbest59
شنبه 08 مهر 1391, 20:49 عصر
شما یه متغیر public تعریف کنید و یه تایمر که هر ثانیه یک واحد به متغیر اضافه می کند و در رویداد text change کدی بنویسید که مقدار متغیری که تعریف کرده بودید رو 0 کنه
به نظرم باقیش هم نیاز به توضیح نداره

modern_amin
یک شنبه 09 مهر 1391, 10:27 صبح
در حالت برنامه نویسی معمولی میتونی راحت با رویدادهای textchange و enter و leave با یک تایمر کار کنی....

peon13
یک شنبه 09 مهر 1391, 19:03 عصر
سلام،
این کار سختی نیست ولی برای پیاده سازیش به نظرم جواب دادن به سوالات زیر واجبه:
1-"وقتی کاربر دست از نوشتن کشید". این میتونه چند حالت داشته باشه:


کاربر متنش رو مینویسه و فکوس رو از روی تکست باکس برمیداره
کاربر در حال نوشتنه و اگر وارد کردن حروفی که داره تایپ میکنه از یه زمانی بیشتر شد یعنی دست از کار کشیده


2- دوست دارم بدونم بعد تایمر قراره چیکار کنه(محض کنجکاوی)

حداقل به سوال اول جواب بده که بتونم راهنماییت بکنم.

برای سوال اول باید بگم که حالت 2 اتفاق میوفته.

برای سوال 2 هم باید بگم که تایمر قرار یه کار رو چند بار تکرار کنه. :لبخند:

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

Hajivandian
یک شنبه 09 مهر 1391, 20:20 عصر
این فایل رو ببین این چیزی که میخوای شده؟ اگر نه مشکلش رو بگو تا ببینم راهی به نظرم میرسه یا نه.

peon13
دوشنبه 10 مهر 1391, 17:22 عصر
این فایل رو ببین این چیزی که میخوای شده؟ اگر نه مشکلش رو بگو تا ببینم راهی به نظرم میرسه یا نه.

ممنونتم.
100% اونی که میخوام نیست ولی کارمو راه میندازه.:قلب: