我用下面方法来移动ComboBox1控件ComboBox1.Move .Left + .CellLeft, .Top + .CellTop, .CellWidth
由MSFlexGrid1_Click来触发.1.为什么ComboBox1不能准确的定位要每个单元格内,总是偏上?
2.如果在MSFlexGrid控件内容很多,需要向下翻页显示时,ComboBox1又偏下?有没有其它方法解决?

解决方案 »

  1.   

    不会吧?参考这个。我试过,很好的。Dim lcol, lrow As LongPrivate Sub Form_Load()
    With MSFlexGrid1
    lcol = 1
    .Col = 1
    lrow = 1
    .Row = 1
    MSFlexGrid1_RowColChange
    End With
    End SubPrivate Sub MSFlexGrid1_RowColChange()
    With MSFlexGrid1
    lcol = .Col
    lrow = .Row
    Check1.Visible = True
    Check1.Height = .CellHeight
    Check1.Width = .CellWidth
    Check1.Left = .CellLeft + .Left
    Check1.Top = .CellTop + .Top
    End With
    End SubPrivate Sub MSFlexGrid1_Scroll()
    With MSFlexGrid1
    If .RowIsVisible(lrow) And .ColIsVisible(lcol) Then
    Check1.Visible = True
    Check1.Height = .CellHeight
    Check1.Width = .CellWidth
    Check1.Left = .CellLeft + .Left
    Check1.Top = .CellTop + .Top
    Else
    Check1.Visible = False
    End If
    End With
    End Sub
      

  2.   

    是ComboBox控件,如果是textbox控件定位就很准?
      

  3.   

    combo本身在高度和MSFlexGrid中单元格的高度就是不同的,用TextBox试试,然后记得每次修改单元格坐标的时候都要同时修改TextBox的坐标
      

  4.   

    combo不能调整高度的啊,除非MSF单元格的高度跟COMBO一样,就很容易了!
    不然用API调整了COMBO高度!
      

  5.   

    MSFlexGrid控件中用垂直滚动翻到下一页时,用 of123() 的方法不能准确定位了.我也用TextBox试过,也是再MSFlexGrid控件内容翻到第二页就不能准确定位.请那位大虾,帮忙试试???
      

  6.   

    谢谢各位的支持,我已经找到原因了,因为.GridLines 是有宽度的,正在找办法解决.