PDA

View Full Version : سوال: تغییر کاراکتر ورودی در TextBox



mgh64120
شنبه 26 بهمن 1392, 18:34 عصر
سلام
میخوام هنگام تایپ در یه تکست باکس کاراکتر ورودی رو تغییر بدم .
به طور مثال به جای حرف 'م' حرف 'ی' تایپ شه.
در رویداد PreviewTextInput رشته ورودی رو با e.Text بدست میارم ولی چطوری تغییرش بدم
تمامی Property های e در این Event ازنوع Read-Only هست.
لطفا راهنمایی بفرمایید...
:متفکر: :خجالت:

mgh64120
پنج شنبه 01 اسفند 1392, 18:52 عصر
سلام دوستان
با دستور SendKeys.SendWait هم نشد.

aghayex
جمعه 02 اسفند 1392, 08:56 صبح
http://stackoverflow.com/questions/17798560/textbox-key-change-on-keydown-in-wpf

http://stackoverflow.com/questions/9442097/how-to-replace-characters-in-a-text-box-as-a-user-is-typing-in-it-in-c

mgh64120
دوشنبه 05 اسفند 1392, 19:39 عصر
سلام دوستان
توی رویداد KeyDown یه کارهایی کردم اینم نتیجه اش :


If InputLanguage.CurrentInputLanguage.LayoutName = "Persian" AndAlso e.Key = Key.D Then
Textbox1.Text += "ي"
System.Windows.Forms.SendKeys.SendWait("{End}")
e.Handled = True
End If

بدرود.

mgh64120
چهارشنبه 14 اسفند 1392, 00:18 صبح
سلام
یه راه بهتر با رویداد PreviewInputText :


If e.Text = "ی" Then TextBox1.Text += "ي" Else Exit Sub
System.Windows.Forms.SendKeys.SendWait("{End}")
e.Handled = True

بدرود

mgh64120
دوشنبه 15 اردیبهشت 1393, 01:26 صبح
سلام دوستان
به دلایلی نمی تونم از راه حل های پست 4 و 5 استفاده کنم
حالا میخوام از دستور SendKeys استفاده کنم ولی جواب نمیده.

System.Windows.Forms.SendKeys.SendWait("{ي}")
ولی برای کلید End صفحه کلید جواب میده :

System.Windows.Forms.SendKeys.SendWait("{End}")
لطفا راهنمایی بفرمایید...