با سلام
من سوالم در ويژوال بيسيك است لطفا اگر ميتوانيد به من جواب دهيد
برروی فرم یک جعبه متن قرار داده و دستورات زیر را نوشته ایم :
با زدن هر کلید از صفحه کلید برنامه خروجی تولید نمی کند.علت و نحوه حل این مشکل چیست؟
در حالت پیشفرض رخداد Form_keyPress تنها زمانی رخ می دهد که هیچ کنترل قابل Focus ای (Focusable) همانند
TextBox یا PictureBox یا CommandButton یا ... روی فرم وجود نداشته باشند (یا حداقل Enabled آن کنترل ها
False باشد تا فعال نباشند). وگرنه اگر کنترلی روی فرم وجود داشته باشد دیگر Form خودش Focus
نخواهد داشت و طبیعتا رخداد KeyPress تنها در همان کنترل Focus شده رخ می دهد، نه در خود Form.
این امر به دلیل مشخصه KeyPreview ای است که در بین مشخصه های Form وجود دارد و مقدار اولیه اش
False است.
مثلا هر زمان روی یک کنترل TextBox کلیک کرده باشید (آن کنترل در حالت Focus باشد)، هر کلیدی که
فشار می دهید فقط رخداد KeyPress همان کنترل را تحریک می کند.
برای آنکه همواره Form_KeyPress رخ دهد، بایستی مشخصه KeyPreview موجود در Form را True نمایید.
این عمل مانع از رخ دادن KeyPress در کنترل Focus شده نمی شود، ولی پیش از آنکه KeyPress در کنترل مذکور
رخ دهد، ابتدا KeyPress برای Form رخ خواهد داد. (اگر مقدار KeyAscii را در داخل رخداد Form_KeyPress
برابر 0 کنید، آنگاه رخداد KeyPress در کنترل Focus شده فراموش شده و رخ نمی دهد).