none
如何设置进入DataGridView 单元格时是否选中其中的内容? RRS feed

  • 问题

  • DataGridView .EditMode = DataGridViewEditMode.EditOnEnter,单击某一单元格时,其中的内容处于选中状态,且插入点在最后,这使得单元格宽度不够宽时,必须向前寻找合适的插入点,以便修改,很不方便,能否设置为不自动选中,这样,其插入点便是开头,比较方便。
    韩立学

    2011年6月9日 7:31

答案

  • 终于解决了!

    在OnEditingControlShowing中记录正在编辑的控件,然后,在OnCellClick中,将该换件的SelectionLength=0


    韩立学
    • 已标记为答案 大海怪 2011年6月11日 1:20
    2011年6月11日 1:20

全部回复

  • 试试这个方法 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ....省略一些代码
        Me.DataGridView1.Columns.Add(cmb)AddHandler DataGridView1.CellClick, handler
      End Sub
    
      Public Event CellClick As DataGridViewCellEventHandler 
      Dim handler As DataGridViewCellEventHandler 
    
      Private Sub dataGridView1_CellClick(ByVal sender As Object, _
            ByVal e As DataGridViewCellEventArgs) _
            Handles DataGridView1.CellClick
        SendKeys.Send("{Right}")
        SendKeys.Send("{HOME}")
      End Sub
    

    2011年6月9日 13:13
  • 谢谢回复!这个方法有一定效果,但它同时带来另一个问题——无法设置插入点了,因为,它总是跑到最前面。
    韩立学
    2011年6月11日 0:06
  • 终于解决了!

    在OnEditingControlShowing中记录正在编辑的控件,然后,在OnCellClick中,将该换件的SelectionLength=0


    韩立学
    • 已标记为答案 大海怪 2011年6月11日 1:20
    2011年6月11日 1:20