উত্তর:
এ নিয়ে আপাতদৃষ্টিতে অনেক ভুল বোঝাবুঝি হয়!
KeyDownএবং এর মধ্যে একমাত্র ব্যবহারিক পার্থক্য KeyPressহ'ল এটি কী-চাপ KeyPressথেকে প্রাপ্ত চরিত্রটিকে পুনরায় সম্পর্কযুক্ত করে এবং কেবল সেখানে উপস্থিত থাকলে তাকে ডাকা হয়।
অন্য কথায়, আপনি যদি Aআপনার কীবোর্ডে টিপেন, আপনি ইভেন্টগুলির এই ক্রমটি পাবেন:
তবে আপনি Shift+ টিপলে A, আপনি পাবেন:
আপনি যদি কিছুক্ষণ ধরে কীগুলি ধরে রাখেন তবে আপনি এমন কিছু পাবেন:
লক্ষ করুন যে, KeyPressঘটে মধ্যে KeyDown এবং KeyUp, না পরে KeyUp, যেমন অন্যান্য উত্তরের অনেক বলেছেন, যে KeyPressবলা হয় যখন একটি অক্ষর উত্পন্ন করা হয় না, এবং যে KeyDownঅন্য উত্তরের অনেক বিপরীত যখন কী চেপে অনুষ্ঠিত হয় পুনরাবৃত্তি, এছাড়াও হয় ।
কি যে করি উদাহরণ না সরাসরি কলের KeyPress:
কি যে উদাহরণ কি কল মধ্যে ফলাফলের KeyPress:
অদ্ভুত জন্য, KeyDownমোটামুটিভাবে করার আশ্বাস যোগায় WM_KEYDOWN, KeyPressকরতে WM_CHAR, এবং KeyUpকরতে WM_KEYUP। কী পুনরাবৃত্তির সংখ্যার চেয়ে কম বলা WM_KEYDOWN যেতে পারে, তবে এটি একটি পুনরাবৃত্তি গণনা প্রেরণ করে, যা আইআইআরসি, উইনফর্মগুলি পুনরাবৃত্তিতে ঠিক একটি কীডাউন তৈরি করতে ব্যবহার করে।
ProcessDialogKeyএবং keyDataথাকে Keys.Tabবা মিথ্যা ফিরে আসেন Keys.Shift | Keys.Tab, তবে আপনি (চালু) কী (ডাউন | টিপুন | টিপুন) এর ট্যাব কী দেখতে পাবেন।
কীপ্রেস ইভেন্টটি ননচার্যাক্টর কী দ্বারা উত্থাপিত হয়নি; যাইহোক, ননচার্যাক্ট কীগুলি কীডাউন এবং কীআপ ইভেন্ট উত্থাপন করে।
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress.aspx
কী প্রেস টি কেবল মুদ্রণযোগ্য অক্ষর দ্বারা চালিত হয় এবং কীডাউন ইভেন্টের পরে বহিস্কার করা হয়। টাইপিং বিলম্ব সেটিংসের উপর নির্ভর করে একাধিক কীডাউন এবং কীপ্রেস ইভেন্ট হতে পারে তবে কেবল একটি কীআপ ইভেন্ট হতে পারে।
Keydown
কী টেপার
keyup
কীপ্রেস কীডাউন (এবং কীআপ) এর চেয়ে বিমূর্ততার উচ্চতর স্তর। কীডাউন এবং কীআপ হ'ল হার্ডওয়্যার সম্পর্কিত: কীবোর্ডের একটি কী এর আসল ক্রিয়া। কীপ্রেসটি আরও বেশি "আমি কীবোর্ড থেকে একটি চরিত্র পেয়েছি"।
এমএসডিএন থেকে:
মূল ইভেন্টগুলি নিম্নলিখিত ক্রমে ঘটে:
তদ্ব্যতীত, কীপ্রেস আপনাকে কোনও পদক্ষেপ না নিরূপণ করতে ক্রিয়াটিকে " পরিচালিত " হিসাবে ঘোষণা করার সুযোগ দেয় ।
Handledসম্পত্তি কী-আপের জন্য নিষ্ক্রিয় ( SuppressKeyPressএটি নিষ্ক্রিয়ও)।
আমি সর্বদা ভেবেছিলাম কীটি ডাউন করার সাথে সাথে কী ডাউন হয়ে গেছে, কী চাপুন এটি কী টিপানো এবং ছেড়ে দেওয়ার ক্রিয়া।
আমি এটি পেয়েছি যা কিছুটা আলাদা ব্যাখ্যা দেয়: http://bytes.com/topic/net/answers/649131-differences-keypress-keydown-event
কীডাউনটি রিলিজ না করে কী টিপছে, কীপ্রেস একটি সম্পূর্ণ প্রেস এবং রিলিজ চক্র।
আর একটি উপায় রাখুন, কীডাউন + কীআপ = কিপ্রেস
ব্লগিং বিকাশকারী থেকে :
কীডাউন এবং কী-টিপসের মধ্যে পার্থক্য বোঝার জন্য একটি "চরিত্র" এবং "কী" এর মধ্যে পার্থক্যটি বোঝা দরকারী । একটি "কী" হ'ল কম্পিউটারের কীবোর্ডের একটি শারীরিক বোতাম, যখন একটি "অক্ষর" একটি বোতাম টিপে টাইপ করা প্রতীক। তত্ত্ব অনুসারে, কীডাউন এবং কীআপ ইভেন্টগুলি টিপিত বা প্রকাশিত কীগুলি উপস্থাপন করে , যখন কী কী চাপলে ইভেন্ট টাইপ করা একটি চরিত্রের প্রতিনিধিত্ব করে । সমস্ত ব্রাউজারে তত্ত্বটির প্রয়োগ এক নয়।
দ্রষ্টব্য: আপনি এই ধারণাটি বুঝতে কী ইভেন্ট টেস্টার (উপরে উল্লিখিত সাইটে উপলব্ধ) চেষ্টা করে দেখতেও পারেন।
কী চাপলে কীটি টিপে রাখা হবে তা নির্বিশেষে কী চাপলে কী একবার রিলিজ করা হবে তা একবারই ধরা পড়বে, তাই আপনি যদি এই জাতীয় প্রেসটি একবারেই ক্যাপচার করতে চান তবে কেইইউইপ হ'ল উপযুক্ত ঘটনা।
KeyPressঘটনা উভয় যখন চরিত্র autorepeat বৈশিষ্ট্য ফল সেইসাথে শারীরিক মূল প্রক্রিয়া প্রতিক্রিয়ায় ইনপুট থেকে উত্পন্ন প্রতিটি ভাষার প্রতিটি অক্ষরের জন্য উত্থাপিত হয়। কী-বোর্ড ইনপুট কীভাবে এই আচরণের দলিল করে।
সবচেয়ে সহজ ব্যাখ্যা:
আমি 'ডি' কীটি এক সেকেন্ডের জন্য চেপে ধরে রেখেছি।
dddddd
প্রথম ডি স্ক্রিনে প্রদর্শিত হওয়ার আগে কীডাউন ইভেন্টটি একবার ঘটেছিল, কিপ্রেস ইভেন্টটি times বার ঘটেছিল এবং কীপ ইভেন্টটি শেষবার স্ক্রিনে উপস্থিত হওয়ার পরে ঘটেছিল।