2015-05-26 2 views
1

Я создал текстовое поле с функцией автозаполнения, но я столкнулся со следующей проблемой. Всякий раз, когда я нажимаю Ctrl + A, чтобы выделить весь текст в текстовом поле, текст исчезает.Выделить весь текст в текстовом поле с автозаполнением (C# winforms)

Вот мой исходный код для текстового поля:

 this.textBox1 = new System.Windows.Forms.TextBox(); 
     this.textBox1.AutoCompleteCustomSource.AddRange(new string[] { 
     "hello", 
     "test", 
     "ahha", 
     "haha"}); 
     this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; 
     this.textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource; 
     this.textBox1.Location = new System.Drawing.Point(13, 13); 
     this.textBox1.Name = "textBox1"; 
     this.textBox1.Size = new System.Drawing.Size(100, 20); 
     this.textBox1.TabIndex = 0; 

Я хотел бы текст, чтобы выделить и не исчезнет. Заранее спасибо.

ответ

0

Если добавить следующий код, поведение останавливается:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    if (keyData == (Keys.Control | Keys.A)) 
    { 
     SelectAll(); 
     return true; 
    } 
    return base.ProcessCmdKey(ref msg, keyData); 
} 

, но я до сих пор не знаю, почему Append функция в режиме автозаполнения удаляет текст без переопределения Ctrl + A

0

Если вы сделаете это изменение, это похоже на работу:

this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; 
+0

Спасибо, но мне нужно сохранить функцию добавления – SteveH

Смежные вопросы