MESCIUS SPREAD for Windows Forms 17.0J
コンボボックス型セルでのダブルクリック

コンボボックス型セルは、デフォルトではマウスの左ボタンによるダブルクリックを処理できません。1度目のクリックで、セルが編集モードに切り替わり、2度目のクリックでサブエディタであるFpComboコントロールが応答します。コンボボックス型セルでダブルクリックを適切に処理するには、以下のサンプルコードを参考にしてください。

コンボボックス型セルのプロパティおよびメソッドについては、ComboBoxCellTypeクラスを参照してください。

設定方法

ComboBoxCellTypeクラスのインスタンスを作成して、コンボボックスのリストに表示する項目を設定します。コンボボックス型セルのサブエディタであるFpComboコントロールのClickイベントを処理します。

サンプルコード

次のサンプルコードは、コンボボックス型セルのダブルクリックを処理します。

C#
コードのコピー
private void Form1_Load(object sender, System.EventArgs e)
{
   FarPoint.Win.Spread.CellType.ComboBoxCellType c = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
    c.Items = new String[] {"a", "b", "c"};
    fpSpread1.Sheets[0].Rows[0].CellType = c;
}
private void HeaderDoubleClick(object sender, System.EventArgs e)
{
    // イベントコードを追加します。
}
private void FpSpread1_EditModeOn(object sender, System.EventArgs e)
{
    FarPoint.Win.FpCombo c;
    if (fpSpread1.Sheets[0].ActiveRowIndex == 0)
    {
        c = ((FarPoint.Win.FpCombo)(fpSpread1.EditingControl));
        c.Click += new System.EventHandler(HeaderDoubleClick);
    }
}
Visual Basic
コードのコピー
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
     Dim c As New FarPoint.Win.Spread.CellType.ComboBoxCellType
     c.Items = New String() {"a", "b", "c"}
     FpSpread1.Sheets(0).Rows(0).CellType = c
End Sub
Private Sub HeaderDoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
    'イベントコードを追加します。
End Sub
Private Sub FpSpread1_EditModeOn(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.EditModeOn
     Dim c As FarPoint.Win.FpCombo
     If FpSpread1.Sheets(0).ActiveRowIndex = 0 Then
          c = CType(FpSpread1.EditingControl, FarPoint.Win.FpCombo)
          AddHandler c.Click, AddressOf HeaderDoubleClick
     End If
End Sub
参照

 

 


© MESCIUS inc. All rights reserved.