1。
Private Sub Command1_Click()
    MSFlexGrid1.SelectionMode = flexSelectionByRow
End Sub
2。
没看懂

解决方案 »

  1.   

    1。先把选择模式中选 by row ,然后用这段代码
    Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbLeftButton Then
    MSFlexGrid1.Row = MSFlexGrid1.RowSel
    End If
    End Sub
    有点闪,将就吧。2。遍历集合,找呗。
      

  2.   

    SelectionMode 属性
          返回或设置一个值,决定一个 MSHFlexGrid 是否应该允许正常的单元选择、按行选择或按列选择。语法object.SelectionMode [=value]SelectionMode 属性的语法包含如下部分:部分 描述 
    object 一个对象表达式,其值为“应用于”列表中的一个对象。 
    value 一个整数或常数,指定选择方式。如设置值中所述。 
    设置值value 的设置值如下所示:常数 值 描述 
    FlexSelectionFree 0 自由。允许选择 MSHFlexGrid 中的个别单元,电子数据表风格。这是缺省设置值。 
    FlexSelectionByRow 1 按行。强制跨越整个行选择,如在一个多列列表框或基于记录的显示。 
    FlexSelectionByColumn 2 按列。强制跨越整个列选择,如同为图表选择范围或者是为排序选择字段。 
      

  3.   

    AllowBigSelection 属性
          该属性返回或者设置一个值,该值决定了在行头或者列头上单击时,是否可以使得整个行或者列都被选中。语法object.AllowBigSelection [=Boolean ]AllowBigSelection 属性的语法包含以下部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的对象。 
    boolean 布尔表达式,指出单击标头时,是否选择整行或整列。 
    设置值Boolean 的设置值是:设置值 描述 
    True 缺省。当用户单击标头时,选择整行或整列。 
    False 当用户单击标头时,仅选择标头。 
      

  4.   

    非常感谢各位,但是问题并未解决。
    我用Shift+↓仍然可以多选,我是想无论何时都只能单行选择,(即:row=rowsel)。
      

  5.   

    你也真够麻烦的,看着!再加上:Private Sub MSFlexGrid1_SelChange()
        MSFlexGrid1.Row = MSFlexGrid1.RowSel
        MSFlexGrid1.Col = 0
        MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
    End Sub