看板 C_Sharp 關於我們 聯絡資訊
問題是這樣的 我有個datagridview 裡面我加入一個DataGridViewTextBoxColumn 我要在這個column上輸入的時候可以有自動完成的功能 我主要是參考下面這個網站做的 http://ppt.cc/0I1w 初始如下: DataGridViewTextBoxColumn prodNameColumn = new DataGridViewTextBoxColumn(); prodNameColumn.Name = "NAME"; DataGridView.Columns.Add(prodNameColumn); 然後 EditingControlShowing 的event中 int column = ShipDataGridView.CurrentCell.ColumnIndex; string colName = ShipDataGridView.Columns[column].Name; if(colName.Equals("NAME")) { TextBox tb = e.Control as TextBox; if (tb != null) { AutoCompleteStringCollection collection = new AutoCompleteStringCollection(); collection.Add("大家"); collection.Add("大象"); collection.Add("飛機"); collection.Add("飛鳥"); tb.AutoCompleteMode = AutoCompleteMode.Suggest; tb.AutoCompleteCustomSource = collection; tb.AutoCompleteSource = AutoCompleteSource.CustomSource; } } 問題是 我打大的時候應該要出現大家跟大象可以選 可是並沒有 可是如果"大" 是用複製貼上的就會出現自動完成選項 或者是我打大以後 按個空白再用backspace刪掉空格也會出現自動完成 這個只有在中文會出現這個情形,如果自動完成的內容為英文就不會有問題 請問一下有沒有人碰過這個問題? 該如何解決呢? 我希望我直接輸入"大"這個字後就可以直接出現自動完成的選單 謝謝! /*******************************************/ 目前用很爛的解決方法 tb.TextChanged += tb_TextChanged; void tb_TextChanged(object sender, EventArgs e) { SendKeys.Send(" {BACKSPACE}"); ((TextBox)sender).TextChanged -= tb_TextChanged; } 請問有沒有更好的寫法呢? 謝謝 /*******************************************/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.220.64 ※ 編輯: gundan 來自: 118.163.30.37 (10/22 14:14)
drizzt123:我測一下有出來啊,你中文是用啥輸入法,有完成選字嗎? 10/22 15:06
gundan:用嘸蝦米 打完字按空格字就出來 不用選字 ... 10/22 15:21