نقل قول: تایپ آسان در textbox
توی رویداد keypress ، textbox مورد نظرت باید کد تابعی که برای دریافت اطلاعاتت از بانک هست رو فراخوانی کنی الباقیشم که کاری نداره کار با بانک
نقل قول: تایپ آسان در textbox
این روشی که میگی کاری نداره
ولی میشه یه مثال کوچیک برای این آرایه درست کنی
string[] elements = { "cat", "dog", "fish" };
من تایپ کردم d dog بیاد ولی og selectبمونه
اگه شروه کردم به تایپ کردن که هیچی og پاک بشه ولی اگه space رو زدم بره انتها و یک space اضافه بشه و منتظر بقیه متن بمونه
اگه تو بقیه نوشتم یکی از عناصر اون آرایه رو نوشتم همون کار بالا و ....
ممنون میشم کمکم کنید
نقل قول: تایپ آسان در textbox
نقل قول:
نوشته شده توسط
mandanim
این روشی که میگی کاری نداره
ولی میشه یه مثال کوچیک برای این آرایه درست کنی
string[] elements = { "cat", "dog", "fish" };
من تایپ کردم d dog بیاد ولی og selectبمونه
اگه شروه کردم به تایپ کردن که هیچی og پاک بشه ولی اگه space رو زدم بره انتها و یک space اضافه بشه و منتظر بقیه متن بمونه
اگه تو بقیه نوشتم یکی از عناصر اون آرایه رو نوشتم همون کار بالا و ....
ممنون میشم کمکم کنید
سلام، بفرمائید
private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.AutoCompleteCustomSource.AddRange(ne w string[] {"cat", "dog", "fish" });
this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppen d;
this.textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSour ce;
this.textBox1.KeyPress += textBox1_KeyPress;
}
void textBox1_KeyPress(object sender,KeyPressEventArgs e)
{
if (e.KeyChar == ' ')
{
textBox1.DeselectAll();
textBox1.Select(textBox1.Text.Length, 0);
e.Handled = false;
}
}
در textBox1_KeyPress اسپیس بررسی میشه. اما اینو بگم که این کدا فقط کل متن رو بررسی میکنن... برای اینکه کلمه به کلمه بررسی بشه باید کنترل رو کاستومایز کنیدش...
2 ضمیمه
نقل قول: تایپ آسان در textbox
سلام دوباره! دیدم حال نوشتن دارم یدونه آماده کردم:
ضمیمه 124994
public class SmartTextBox : TextBox
{
public SmartTextBox()
{
this.TextChanged += SmartTextBox_TextChanged;
this.KeyPress += SmartTextBox_KeyPress;
}
bool Removed = false;
bool Editing = false;
void SmartTextBox_TextChanged(object sender, EventArgs e)
{
if (Editing || Removed)
return;
Editing = true;
int selctStart = this.SelectionStart;
int lastSpacePos = findLastSpacePosition();
string word = this.Text.Substring(lastSpacePos, selctStart - lastSpacePos);
if (word.Length > 0)
foreach (var src in this.AutoCompleteCustomSource)
{
string s = src.ToString();
if (s.StartsWith(word))
{
this.Text = this.Text.Insert(selctStart, s.Substring(word.Length));
this.Select(selctStart, s.Length - word.Length);
break;
}
}
Editing = false;
}
int findLastSpacePosition()
{
for (int i = this.SelectionStart - 1; i >= 0; i--)
if (this.Text[i] == ' ')
return i + 1;
return 0;
}
void SmartTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == ' ')
{
this.Select(this.SelectionStart + this.SelectionLength, 0);
e.Handled = false;
}
Removed = (e.KeyChar == '\b');
}
}
پروژه هم اگه نیاز شد:
نقل قول: تایپ آسان در textbox