私は問題があり、これが可能なら解決方法を理解できません。私は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. Visual Basic - DataGridViewを実行するために入力CellContentClick
- 4. Visual BasicのGUI入力のバリデーション
- 5. ユーザー入力を格納する(Visual Basic)
- 6. Androidキーボードの入力
- 7. キーボード入力エラー
- 8. Ncursesキーボード入力
- 9. C#DataGridViewと入力フォーム
- 10. キーボードの入力をR
- 11. SendInputマウス入力とキーボード入力の送信
- 12. jQueryの入力イベントは、入力が
- 13. 時間入力のテキスト入力keyupイベント
- 14. Visual Basicテキストボックスの入力を確認する
- 15. ClaimedBarcodeScanner.DataReceived()イベントがWebViewコントロール(UWP)のキーボード入力として
- 16. Allegroのキーボードのキーボード入力方法
- 17. Pygameキーボード入力の問題
- 18. 2Dテキストボックスのキーボード入力
- 19. キーボード入力後のplt.plot
- 20. PHPでのキーボード入力
- 21. OSXでのキーボード入力
- 22. 入力を待たずにキーボードから入力を取得
- 23. Ms AccessデータベースでVisual Basicのデータが入力されない
- 24. すべてのモバイルデバイスの入力テキストの数値キーボードの入力
- 25. イオンテキストエリアの入力イベント
- 26. DropDownListイベントの入力
- 27. ValueChangeイベントの入力
- 28. 入力、入力タイプ番号onChangeイベント
- 29. 位置の出力Visual Basic
- 30. は私のHTMLコードとI入力キーボードでいくつかの値の入力要素を持つ入力フィールド
明確化:あなたはあなたのデータグリッド内のセルに存在するテキストに改行を追加したいです。その特定のセルでEnterキーを押すと、これが起こるはずです。 –
私はそれがより明確だと思う..次に私はカーソルを赤い矩形で入力してください。私はイベントを保持したいです –
CellBeginEditイベントこれはあなたが探しているものですか? – Leprechaun