Private Sub MSFlexGrid1_DblClick()
   curCol = Me.MSFlexGrid1.Col
   curRow = Me.MSFlexGrid1.Row
   Me.Text1.Visible = True
   Me.Text1.Left = Me.MSFlexGrid1.Left + Me.MSFlexGrid1.CellLeft
   Me.Text1.Top = Me.MSFlexGrid1.Top + Me.MSFlexGrid1.CellTop
   Me.Text1.Text = Me.MSFlexGrid1.Text
   Me.Text1.SetFocus
End SubPrivate Sub Text1_LostFocus()
    Me.MSFlexGrid1.Col = curCol
    Me.MSFlexGrid1.Row = curRow
    Me.MSFlexGrid1.Text = Me.Text1.Text
    Me.Text1.Visible = False
    Me.Text1.Text = ""
End Sub我事件处理的不对 
当第一次双击一个单元格后 再次双击另-个单元格事 文本框还是停留还原来的那个单元格

解决方案 »

  1.   

    Private Type RC
        Row As Long
        Col As Long
    End Type
    Dim TRC As RC
    Private Sub Grid1_Click()
       If Grid1.Row > 0 And Grid1.Col = 5 Then
            With Text1
                .Top = Grid1.Top + Grid1.CellTop
                .Left = Grid1.Left + Grid1.CellLeft
                .Width = Grid1.CellWidth
                .Height = Grid1.CellHeight
                .Visible = True
                .Text = Grid1.Text
                .ZOrder
                .SetFocus
                TRC.Row = Grid1.Row
                TRC.Col = Grid1.Col
                Command4.Visible = False
                Gcode.Visible = False
                Gname.Visible = False
            End With
    end sub
      

  2.   

    'LZ怎么又发一贴?!
    '修改LostFocus就行了
    Private Sub Text1_LostFocus()
    '    Me.MSFlexGrid1.Col = curCol
    '    Me.MSFlexGrid1.Row = curRow
    '    Me.MSFlexGrid1.Text = Me.Text1.Text
        Me.MSFlexGrid1.TextMatrix(currow,curcol) = Me.Text1.Text
        Me.Text1.Visible = False
        Me.Text1.Text = ""
    End Sub