当 ctrl+enter 按下时 Datagridview 多行文本框

Mec*_*eer 2 vb.net datagridview multiline winforms

我正在尝试向datagridview控件添加一些特定的行为(如果你可以这样说的话)。

我想multiplelines textboxdatagridview. 我在给出一个太长而无法放入 的字符串时实现了这一点textbox,它会自动放置在第二行。

所以步骤是在单元格中输入文本,而焦点在单元格上按 ctrl+enter 以便接下来输入的文本位于第二行。

dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
Run Code Online (Sandbox Code Playgroud)

但是我也可以通过按ctrl + enter key在这件事上强制第二行,我的互联网搜索空空如也。

我想它会在单元格内捕获按键事件,但我似乎找不到这个事件。

可能的事件

我试过这个事件,但只有Datagridview在选择了总数时才会发生。

Private Sub DataGridView1_CellContentClick(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles DataGridView1.KeyPress
     ' Some magic here.
End Sub
Run Code Online (Sandbox Code Playgroud)

Joh*_*hnG 5

我相当有信心您可以通过更改 中的几个属性DataGridView并使用“Shift-Enter”而不是“Ctrl-Enter”来获得所需的结果。

DataGridView将其设置AutoSizeRowsModeAllCells,然后将特定的 COLUMNS DefaultCellStyle-> 设置WrapMode为 true。然后在编辑单元格时使用“Shift-Enter”,你应该在一个单元格中得到多行。希望这就是你要找的。

  • 如果不简单地输入一些额外的返回值然后单击然后返回,我就无法让它以这种方式工作。我确信这是因为行设置为自动大小,并且在用户离开单元格之前它不会知道有多少行。 (2认同)