我有一个 Windows Form VS2010 .NET 4 项目,其标准 DataGridView 绑定到表单上的数据源。
网格有一个文本列,我想成为一个点并在单击的字符处进行编辑。当您单击要调整的字符时,就像普通的文本框/编辑器一样。如果可能的话,我还想使用向上/向下键在行之间移动,但希望光标在同一列中明显移动到同一字符位置,而不选择整个文本。
我尝试了几件事:
DataGridView1.ClearSelection()
DataGridView1.BeginEdit(False)
BeginEdit 只是将光标放在文本的末尾,这意味着再次单击以指向字符位置进行编辑。
我知道像 DevExpress 这样的商业网格默认为编辑,您可以在其中单击到正确的字符位置,但显然要花钱。
我在 DataGridView1_EditingControlShowing 事件中尝试过
If TypeOf e.Control Is System.Windows.Forms.DataGridViewTextBoxEditingControl Then
Dim tb As TextBox = e.Control
tb.SelectionStart = 5
tb.SelectionLength = 5
End If
但这无济于事。
我只是想删除两到三下的点击以到达需要调整的角色位置。
我还没有看过自定义数据列。
任何建议将不胜感激。