PDA

View Full Version : قطع پروسه قبلی



HAIdle
پنج شنبه 24 اسفند 1385, 13:19 عصر
سلام به همه دوستان
من با C#2005 یه برنامه نوشتم . برای این که امکان جست و جو real timeبرای کاربر فراهم کنم در رویداد تغییر متن text box تعریف کرده ام که هر بار وارد این رویداد شد یعنی کاربر یه حرفی را زده و بنابراین می رم در دیتابیس جست و جو می کنم و نتایج را نمایش می دم ولی مسکلی که هست اینه که فرض کنید کاربر می خواد کلمه محمدی را جست و جو کند. وقتی م را می زنه یک بار جست و جو انام می شه و تمام آنهایی که م داره را نشان می ده . وقتی ح را می زنه یه بار دیگه جست و جو می شه و تمام مح ها را می جوره و به این ترنیب. حالا فرض کنید 10000 مورد نتیجه جستوجوی حرف اول باشه. تا وقتی که تمام انها نشان داده نشده رویداد فشار دادن کلید بعدی را نادیده می گیره و به این ترتیب کاربر زمان زیادی معطل می شه. راه حل اینه که در اول روتین پاسخ به این رویداد باید عملیات قبلی را لغو کنیم. با چه دستوری میشه این کار را کرد؟ از راهنماییتون ممنون می شم.

EhsanKhafan
جمعه 25 اسفند 1385, 06:20 صبح
از چه روشی استفاده کردی؟
اگر از Threading استفاده کنی به راحتی میتونی thread رو نگه داری و اول هر event متوقفش کنی دوباره Run کنی.

HAIdle
جمعه 25 اسفند 1385, 13:12 عصر
من threading کار نکردم. فقط توی رویداد textchange مربوط به text box دیتابیس را باز می کنم جست و جو می کنم و بعد هم نتایج را نشان می دم. به جز threading راه دیگه ای نیست؟