1

MSDN サンプルに示されているように、カスタム 、、およびクラスを実装DataGridViewColumnDataGridViewCellましDataGridViewEditingControlた。

私が抱えている問題はDateTimePicker、MSDNの例ではカレンダーピッカーをポップアウトして、下の行とそれに隣接するセルの上に表示できることです。私のコントロールは、DGV セルのサイズによって定義されたスペース内に閉じ込められています。私のコントロールは、テキストボックスとオートコンプリート候補のリストで構成されています。そのため、行を通常の数倍の高さにせずにリストを表示する方法が必要です。

DateTimePicker私は MSDN から例を取り、スワップアウトの拡張とその他の関連する変更に変更しただけなので、基本クラスMyControlで魔法が起こっていると思います。DateTimePickerしかし、同じように動作させるためにコントロールで何を変更する必要があるのか​​ わかりません。

4

1 に答える 1

3

実装するDataGridViewEditingControlはサイズ変更され、セル領域に移動され、セルが編集モードになったときに表示されます。必要なのは、編集コントロールに加えて、編集コントロールがアクティブになったときに作成し、非アクティブになったときに破棄できる「ポップアップ コントロール」です。

簡単な WinForms ポップアップ コントロールの例を次に示します: http://www.codeproject.com/Articles/17502/Simple-Popup-Control

ただし、必要なのがオートコンプリート付きのセルだけの場合は、ストックDataGridViewTextBoxColumn、またはを使用して無料で入手できますDataGridViewComboBoxColumn

http://bytes.com/topic/c-sharp/answers/442061-autocompletestringcollection-text-box-datagridview-2-0-a

于 2012-11-02T18:14:56.360 に答える