PDA

View Full Version : محدود کردن سلول datagridview به تایپ زبان انگلیسی



sabz12
چهارشنبه 03 تیر 1394, 20:22 عصر
می خوام تو اولین سلول دیتا گریدویو کاربر فقط انگلیسی بتونه تایپ کنه تغییر زبان را زدم ولی می خوام نتونه زبان غییر انگلیسی تایپ کنه .
این کد هم بعضی وقتها درست کار نمیکنه انگار باید یک کنترل دیگری چکش کنه نمی دونم
if (dataGridView1.Rows[e.RowIndex].Cells[1].Selected == true) {




InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-US"));
}

من برای محدود کردن تکس باکس مشکلی ندارم ولی دیتاگرید ظاهرا یکم پیشیده تره یک راهنمایی بکنید بسیار ممنون می شم

دلتنگ اسمان
پنج شنبه 04 تیر 1394, 18:58 عصر
فقط برای تایپ فارسی :


Control cntObject;
private static void myTextKeyPress(object sender, KeyPressEventArgs e)
{
char keyChar = e.KeyChar;
if (!(keyChar < 90 || keyChar > 122))
{
e.Handled = true;
}
}
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.Rows[row].Cells[1].Selected)
{
e.Control.KeyPress += new KeyPressEventHandler(myTextKeyPress);
cntObject = e.Control;
cntObject.KeyPress += myTextKeyPress;
}
}


private void textBoxMetod()
{
System.Windows.Forms.TextBox myText = new System.Windows.Forms.TextBox();
this.Controls.Add(myText);
}
int row;
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
{
row = e.RowIndex;
}


اگه در keypress کد زیر رو قراربدی فقط انگلیسی تایپ میشه :


char keyChar = e.KeyChar;
if (!((keyChar < 1570 || keyChar > 1641)) || keyChar == 1740 || keyChar == 1705 || keyChar == 1711 || keyChar == 1670
|| keyChar == 1662)
{
e.Handled = true;
}