لطفا پاسخ دهيد

fmir

New Member
با سلام
من سوالم در ويژوال بيسيك است لطفا اگر ميتوانيد به من جواب دهيد

برروی فرم یک جعبه متن قرار داده و دستورات زیر را نوشته ایم :
vb.jpg

با زدن هر کلید از صفحه کلید برنامه خروجی تولید نمی کند.علت و نحوه حل این مشکل چیست؟
 

3minar

Member
دوست عزیز شما دقیقا می خواهین چکار کنید؟؟؟ می خواهین چه اتفاقی بیفته؟؟

در ضمن از .Net استفاده میکنید یا VB6؟؟
 

the_king

مدیرکل انجمن
با سلام
من سوالم در ويژوال بيسيك است لطفا اگر ميتوانيد به من جواب دهيد

برروی فرم یک جعبه متن قرار داده و دستورات زیر را نوشته ایم :
vb.jpg

با زدن هر کلید از صفحه کلید برنامه خروجی تولید نمی کند.علت و نحوه حل این مشکل چیست؟

در حالت پیشفرض رخداد 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 شده فراموش شده و رخ نمی دهد).
 

جدیدترین ارسال ها

بالا