ایک نئے ایڈیٹر کنٹرول کی ضرورت!

نبیل

تکنیکی معاون
اردو ایڈیٹر کے پہلے پروٹوٹائپ کے کوڈ پر نظر ڈالنے سے ظاہر ہوتا ہے کہ اس کے ایڈٹ کنٹرول میں کی میپنگ کا کام کچھ بہتر انداز میں نہیں کیا گیا۔ اس کی وجہ یہ ہےکہ ڈاٹ نیٹ میں keypress ایونٹ میں KeyChar کی ویلیو تبدیل کرنا براہ راست ممکن نہیں ہے، اسی وجہ سے ذیل کا کوڈ‌ استعمال کرنا پڑتا ہے۔

کوڈ:
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
		{
			if(CharMap.ContainsKey(Convert.ToChar(e.KeyChar)))
			{
				textBox1.SelectedText=Convert.ToString(Convert.ToChar(CharMap[Convert.ToChar(e.KeyChar)]));
				e.Handled= true;
			}
		}
اس کی وجہ سے ٹیکسٹ ایڈٹ کرتے ہوئے قدرے فلکر بھی ہوتا ہے۔

میرے خیال میں اس پراجیکٹ میں مزید پیشرفت کے لیے ایک نیا ایڈٹ کنٹرول بنایا جانا چاہیے جو کہ ایک reusable کمپوننٹ ہوگا۔ اس میں کی میپنگ کا کام ڈاٹ نیٹ کی حدود سے باہر یعنی کہ windows api کے لیول پر کرنا پڑے گا۔ ڈاٹ نیٹ پروگرامنگ میں یہی مسئلہ ہے۔ ذرا سا اس کی سہولتوں سے آگے کام کرنے کی ضرورت پڑتی ہے تو لو لیول پروگرامنگ کی ضرورت پیش آ جاتی ہے۔

میں اس سلسلے میں مزید معلومات کے لیے بعد میں پوسٹ ‌کروں گا۔
 
Top