PDA

View Full Version : کار نکردن دکمه های کیبورد بعد از اضافه کردن یک دکمه به فرم



طاها حک
دوشنبه 28 فروردین 1391, 21:13 عصر
با سلام.
من یک برنامه ای نوشتم که فرد می تونه یک محیط بازی مانند متشکل از ربات ها و موانع و اهداف رو طراحی، ذخیره و سپس تست کنه.
برای نمایش عکس های ربات ها یا موانع در فرم، از DrawImage استفاده کردم، حالا برای حرکت ربات ها می خوام از 4جهت اصلی استفاده کنم، ولی برنامه فشرده شدن دکمه های 4 جهت اصلی رو تشخیص نمی ده
(تشخیص می ده که دکمه ای فشرده شده، ولی مثلا در زمان فشرده شدن کلید چپ، وارد شرط
if( e.KeyData == Keys.Left
نمی شه) در نتیجه به جای 4 جهت اصلی، از دکمه های WASDبرای حرکت ربات استفاده کردم.
حالا یه مشکل دومی برام پیش اومده، وقتی که به فرمم یک دکمه اضافه کردم که مثلاً حرکت ربات رو undo کنه، حالا دیگه کلاً فرم فشرده شدن هیچ دکمه ای در کیبرد رو تشخیص نمی ده و اصلا وارد رویداد PlayForm_KeyPress نمی شه
ممنون می شم دوستان کمکم کنن تا یک فرمی داشته باشم که هر 4 جهت اصلی توش کارکنه و هم مشکلی در زمان اضافه کردن کنترل هایی مانند دکمه پیش نیاد.

gsearch
سه شنبه 29 فروردین 1391, 02:09 صبح
احتمالاً مشکل فوکوس دارین، فوکوس روی یه کنترله دیگه است(دکمه) و باعث می شه که رخدادها به تابع ارسال نشن. برای حل این مشکل پروپرتی KeyPreview فرم رو true کن و از رخداد PreviewKeyDown فرم استفاده کن. مشکل کلیدهای جهتی هم باید حل بشه. اگه مشکلی بود بگو تا راه دیگه ای بگم.