私は問題があり、これが可能なら解決方法を理解できません。私はdatagridviewを持っているし、イベントを持っているし、1つのセルのテキストに私は新しい行(キーボード入力)、私は今、イベント "grid_keydown"または "grid_keypress"がありますが、この2つは、各datagridviewセルではなく、この2つのイベントをdatagridviewの各セルの編集にも使用するようにdatagridviewプロパティを設定する解決策がありますか?あなたにたくさんのVisual Basic Datagridviewセルのイベントとキーボードの入力を入力
答えて
ありがとうだから私は最終的にあなたが探しているものを達成するための解決策を見つけました。悪い知らせは、私が思っていたよりも難しいことです。とにかく次の手順が必要です。
カスタム
DataGridViewTextBoxEditingControl
クラスを作成します。
のキーがCell
の変更を受け入れ、次の行に切り替わるデフォルトの動作を上書きします。また、現在のセルテキストにNewLine
を添付します。Public Class MyDatagridTextBoxEditControl Inherits DataGridViewTextBoxEditingControl Public Overrides Function EditingControlWantsInputKey(keyData As Keys, dataGridViewWantsInputKey As Boolean) As Boolean If dataGridViewWantsInputKey AndAlso keyData = Keys.Enter Then AppendText(Environment.NewLine) Return MyBase.EditingControlWantsInputKey(keyData, False) End If Return MyBase.EditingControlWantsInputKey(keyData, dataGridViewWantsInputKey) End Function End Class
カスタム
DataGridViewTextBoxCell
クラスを作成します。
以前に作成したDataGridViewTextBoxEditingControl
タイプを設定して使用することです。Public Class MyDatagridTextBoxCell Inherits DataGridViewTextBoxCell Public Overrides ReadOnly Property EditType As Type Get Return GetType(MyDatagridTextBoxEditControl) End Get End Property End Class
バインド
DataGridView
INR一緒にデータ。私例えば
私は(InitializeComponent()
後)Form'sのコンストラクタにコードを置くが、あなたはまた、あなたがこのコードを置く場所に応じてLoad
イベント'Assume [Beschreibung] is column no. 5 DataGridView1.Columns.Item(4).CellTemplate = New MyDatagridTextBoxCell()
(にそれを置くことができますDataGridVie1.Refresh()
に電話する必要があります)。
備考:このコードでは、Enter
キーを使用してテキストセルの変更された値を受け入れることができなくなります。しかし、あなたはセルの外にマウスを置いたときに入力を受け入れます。 Esc
keypressはテキストの変更を元に戻します。 のような別のキーを扱うEditingControlWantsInputKey
にコードを追加することができます。 Insert
またはそれに類するもの。あなたがキーの組み合わせと同じ動作を実現することができ、このコードがなければ
Shift + Enter
私は、私はその後、私のコラムに必要なセルに私をクリックしてポイント3を置くことができ、私はこれ明日やろうと思います。あなたにアレックスをありがとう –
ありがとう:) –
- 1. Visual Basicの入力とキャスティングの質問
- 2. Visual Basic 2013 - コンソール入力トークン?
- 3. Androidキーボードの入力
- 4. Ncursesキーボード入力
- 5. キーボード入力エラー
- 6. キーボードの入力をR
- 7. SendInputマウス入力とキーボード入力の送信
- 8. 時間入力のテキスト入力keyupイベント
- 9. jQueryの入力イベントは、入力が
- 10. Visual Basicテキストボックスの入力を確認する
- 11. Allegroのキーボードのキーボード入力方法
- 12. 入力を待たずにキーボードから入力を取得
- 13. OSXでのキーボード入力
- 14. PHPでのキーボード入力
- 15. 2Dテキストボックスのキーボード入力
- 16. キーボード入力後のplt.plot
- 17. Pygameキーボード入力の問題
- 18. Ms AccessデータベースでVisual Basicのデータが入力されない
- 19. すべてのモバイルデバイスの入力テキストの数値キーボードの入力
- 20. ValueChangeイベントの入力
- 21. 入力、入力タイプ番号onChangeイベント
- 22. 位置の出力Visual Basic
- 23. ブートストラップ3入力問題。キーボードの重複する入力フィールド
- 24. Windowsフォーム - DataGridView入力の検証
- 25. [HTML] >> Basicフォームのダウンロード入力
- 26. プログラマブルキーボードによるキーボード入力
- 27. タッチ入力をマウス/キーボード入力に変更する
- 28. Visual BasicのカスタムDataGridView列?
- 29. C++のシステムレベルでキーボード入力をシミュレート
- 30. 別のキーボード入力を使用
明確化:あなたはあなたのデータグリッド内のセルに存在するテキストに改行を追加したいです。その特定のセルでEnterキーを押すと、これが起こるはずです。 –
私はそれがより明確だと思う..次に私はカーソルを赤い矩形で入力してください。私はイベントを保持したいです –
CellBeginEditイベントこれはあなたが探しているものですか? – Leprechaun