none
DataGridViewのColumnTypeの取得 RRS feed

  • 質問

  • お世話になります。

    Protected Overrides Function ProcessDataGridViewKey(ByVal e As KeyEventArgs) As Boolean

    ??????

    End Function

    ??????でDataGridViewCheckBoxColumnなのか

    DataGridViewComboBoxColumnなのか調べたいと思います。

    どの様にすれば判定することが可能なのか、教えて下さい、

    宜しくお願いします。

     

     

    2011年1月24日 2:17

回答

  • ProcessDataGridViewKeyをオーバーライドということは拡張クラス内での話ですよね。

    以下みたいな感じで選択セルの型比較ではだめですか?

    If Me.SelectedCells.Count = 0 Then
      Console.WriteLine("セルが選択されていない")
    ElseIf Me.SelectedCells.Count = 1 Then
      If TypeOf Me.SelectedCells.Item(0) Is DataGridViewComboBoxCell Then
        Console.WriteLine("コンボボックスセルです")
      ElseIf TypeOf Me.SelectedCells.Item(0) Is DataGridViewCheckBoxCell Then
        Console.WriteLine("チェックボックスセルです")
      Else
        Console.WriteLine("その他のタイプのセルです")
      End If
    Else
      Console.WriteLine("複数のセルが選択されている")
    End If
    
    

    • 回答としてマーク ジョウジ 2011年1月24日 7:14
    2011年1月24日 2:48

すべての返信

  • ProcessDataGridViewKeyをオーバーライドということは拡張クラス内での話ですよね。

    以下みたいな感じで選択セルの型比較ではだめですか?

    If Me.SelectedCells.Count = 0 Then
      Console.WriteLine("セルが選択されていない")
    ElseIf Me.SelectedCells.Count = 1 Then
      If TypeOf Me.SelectedCells.Item(0) Is DataGridViewComboBoxCell Then
        Console.WriteLine("コンボボックスセルです")
      ElseIf TypeOf Me.SelectedCells.Item(0) Is DataGridViewCheckBoxCell Then
        Console.WriteLine("チェックボックスセルです")
      Else
        Console.WriteLine("その他のタイプのセルです")
      End If
    Else
      Console.WriteLine("複数のセルが選択されている")
    End If
    
    

    • 回答としてマーク ジョウジ 2011年1月24日 7:14
    2011年1月24日 2:48
  • Honefai様 分かりやすいソースまで教えていただきありがとうございます。

    思ってた結果が出ました、またの質問の際は宜しくお願いします。

    2011年1月24日 7:15