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 |