#264414 · 26 Oct 2003, 22:43 · · პროფილი · პირადი მიმოწერა · ჩატი
სტანდარტულად ყველგან მუშაობს შემდეგი მოვლენა(event) //Jscript
function TextBox_KeyPres() { if (keyCode==97) keyCode=4304; if (keyCode==98) keyCode=4305; if (keyCode==103) keyCode=4306; if (keyCode==100) keyCode=4307; if (keyCode==101) keyCode=4308; if (keyCode==118) keyCode=4309; if (keyCode==122) keyCode=4310; if (keyCode==84) keyCode=4311; if (keyCode==105) keyCode=4312; if (keyCode==107) keyCode=4313; if (keyCode==108) keyCode=4314; if (keyCode==109) keyCode=4315; if (keyCode==110) keyCode=4316; if (keyCode==111) keyCode=4317; if (keyCode==112) keyCode=4318; if (keyCode==74) keyCode=4319; if (keyCode==114) keyCode=4320; if (keyCode==115) keyCode=4321; if (keyCode==116) keyCode=4322; if (keyCode==117) keyCode=4323; if (keyCode==102) keyCode=4324; if (keyCode==113) keyCode=4325; if (keyCode==82) keyCode=4326; if (keyCode==121) keyCode=4327; if (keyCode==83) keyCode=4328; if (keyCode==67) keyCode=4329; if (keyCode==99) keyCode=4330; if (keyCode==90) keyCode=4331; if (keyCode==119) keyCode=4332; if (keyCode==87) keyCode=4333; if (keyCode==120) keyCode=4334; if (keyCode==106) keyCode=4335; if (keyCode==104) keyCode=4336; } და აკეთებს თავის საქმეს.
c#-ში სტანდარტულად ამის გაკეთება შეუძლებელია, რადგანაც System.Windows.Forms.KeyEventArgs-კლასის KeyCode is ReadOnly Member ამიტომაც გადავწყვიტე გამეკეთებინა Textbox კლასის ანალოგი და ჩემს TextBox კონტროლში გადამეტვირთა მშობლიური კლასის ფუნქციები.
ქვემოთ მოყვანილია კლასი.
//C# Code; using System.Windows.Forms; using System; namespace mytextbox { public class MyTextBox : TextBox { public override bool PreProcessMessage(ref Message msg) { int keyCode = (int)msg.WParam; if (keyCode==97) keyCode=4304; if (keyCode==98) keyCode=4305; if (keyCode==103) keyCode=4306; if (keyCode==100) keyCode=4307; if (keyCode==101) keyCode=4308; if (keyCode==118) keyCode=4309; if (keyCode==122) keyCode=4310; if (keyCode==84) keyCode=4311; if (keyCode==105) keyCode=4312; if (keyCode==107) keyCode=4313; if (keyCode==108) keyCode=4314; if (keyCode==109) keyCode=4315; if (keyCode==110) keyCode=4316; if (keyCode==111) keyCode=4317; if (keyCode==112) keyCode=4318; if (keyCode==74) keyCode=4319; if (keyCode==114) keyCode=4320; if (keyCode==115) keyCode=4321; if (keyCode==116) keyCode=4322; if (keyCode==117) keyCode=4323; if (keyCode==102) keyCode=4324; if (keyCode==113) keyCode=4325; if (keyCode==82) keyCode=4326; if (keyCode==121) keyCode=4327; if (keyCode==83) keyCode=4328; if (keyCode==67) keyCode=4329; if (keyCode==99) keyCode=4330; if (keyCode==90) keyCode=4331; if (keyCode==119) keyCode=4332; if (keyCode==87) keyCode=4333; if (keyCode==120) keyCode=4334; if (keyCode==106) keyCode=4335; if (keyCode==104) keyCode=4336; msg.WParam=(System.IntPtr)keyCode; return base.PreProcessMessage(ref msg); } } }
ამის შემდეგ შევამოწმე კლასი და აღმოჩნდა, რომ ზოგიერთი ასონიშანი იკრიფება და ზოგიერთი კი არა.
მაგალითად :ზ,ხ,ქ,წ და ასე შემდეგ.
თუ ვინმეს გქონიათ შეხება ანალოგიურ პრობლემასთან იქნებ დამეხმაროთ.
--------------------
<body language="java_script" onload="document.refresh"></body>
|