Dil*_*Dil 5 c# textbox datagridview caret winforms
我正在努力在 DataGridView中的文本框编辑控件中移动插入符号,一行向上和一行向下,就像用户在按下向上和向下箭头时会得到的那样。
所以我的意思不是换行符之间的行,我的意思是文本框左侧和右侧之间的行。
我不能使用 GetCharIndexFromPosition 和 GetPositionFromCharIndex 因为并非所有文本都会始终显示在文本框显示区域中。
编辑: 我无法模拟 KeyPress,因为我正在处理 DataGridView 中的文本框单元格。我的目标实际上是让箭头键做他们在普通文本框中会做的事情,而不是从一行跳到另一行。
小智 1
这应该有效。
Point pOld = textBox1.GetPositionFromCharIndex(textBox1.SelectionStart);
Point pNew = new Point(pOld.X, pOld.Y + textBox1.Font.Height)
int charIndex = textBox1.GetCharIndexFromPosition(pNew);
textBox1.SelectionStart = charIndex;
Run Code Online (Sandbox Code Playgroud)
但我不认为这是最干净的解决方案。也许您应该研究一下 DataGridView 属性/键处理。
| 归档时间: |
|
| 查看次数: |
4770 次 |
| 最近记录: |