MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
コンボボックス型セルにて発生するイベント

コンボボックス型セルでは以下の順番で独自のイベントが発生します。

イベント 発生タイミング
ComboDropDown ドロップダウンリストを表示
ComboSelChange ドロップダウンリスト上の選択項目を変更
ComboCloseUp ドロップダウンリストを閉じる

また、当セル型は他のセル型と比較してその機能/動作が特質的なものになっています。そのため、これらのイベントを実装する際には十分な動作検証を行う必要があります。

  • イベントハンドラのコードは Visual Studioで適切に生成する必要があります。
  • ComboSelChangeイベントで行数(RowCountプロパティ)や列数(ColumnCountプロパティ)の変更やセル型の設定を行なうと処理が不定になります。コンボボックス型セルのイベントでそれらの設定を行なう必要がある場合は、 ComboCloseUpイベントを利用してください。
  • ドロップダウンリストからの選択によって変更されたセルの値を取得する場合には ComboCloseUpイベントを利用してください。(ComboDropDownイベントおよびComboSelChangeイベントの発生タイミングではセルが未だ編集状態であるため、 TextおよびValueプロパティにて取得される値は変更前の値となります)

 private void Form1_Load(object sender, System.EventArgs e)
 {

   //コンボボックス型セルを定義します
   FarPoint.Win.Spread.CellType.ComboBoxCellType cb = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
   cb.Items = new string[] {"aaa", "bbb", "ccc"};
   fpSpread1.ActiveSheet.Cells[2, 2].CellType = cb;

 }

 private void fpSpread1_ComboDropDown(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
 {

   Console.WriteLine("セルのドロップダウンリストが表示されました");

 }

 private void fpSpread1_ComboSelChange(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
 {

   Console.WriteLine("セルのドロップダウンリスト上の選択項目が変更されました");

   //コンボボックス型セル用のエディタ(FpComboクラス)をキャストし、現在選択中のインデックスを取得します
   Console.WriteLine("現在選択されているリスト上のアイテムインデックス:" + ((FarPoint.Win.FpCombo)fpSpread1.EditingControl).SelectedIndex.ToString());

 }

 private void fpSpread1_ComboCloseUp(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
 {

   Console.WriteLine("セルのドロップダウンリストが閉じられました");

 } 
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

   'コンボボックス型セルを定義します
   Dim cb As New FarPoint.Win.Spread.CellType.ComboBoxCellType
   cb.Items = New String() {"aaa", "bbb", "ccc"}
   FpSpread1.ActiveSheet.Cells(2, 2).CellType = cb

 End Sub

 Private Sub FpSpread1_ComboDropDown(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EditorNotifyEventArgs) Handles FpSpread1.ComboDropDown

   Console.WriteLine("セルのドロップダウンリストが表示されました")

 End Sub

 Private Sub FpSpread1_ComboSelChange(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EditorNotifyEventArgs) Handles FpSpread1.ComboSelChange

   Console.WriteLine("セルのドロップダウンリスト上の選択項目が変更されました")

   'コンボボックス型セル用のエディタ(FpComboクラス)をキャストし、現在選択中のインデックスを取得します
   Console.WriteLine("現在選択されているリスト上のアイテムインデックス:" + CType(FpSpread1.EditingControl, FarPoint.Win.FpCombo).SelectedIndex.ToString)

 End Sub

 Private Sub FpSpread1_ComboCloseUp(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EditorNotifyEventArgs) Handles FpSpread1.ComboCloseUp

   Console.WriteLine("セルのドロップダウンリストが閉じられました")

 End Sub 

 

 


© MESCIUS inc. All rights reserved.