【セル型全般】 アクティブセルのフォーカス枠をカスタマイズ(線種変更、非表示設定など)することはできますか?
対象製品
SPREAD for .NET Windows Forms Edition
詳細
現バージョンではアクティブセルのフォーカス枠を非表示とする機能は提供されておらず、また線種などをカスタマイズすることも出来ません。このような場合は、例えばユーザーのセル移動操作によって発生するLeaveCellイベントを実装し、移動元/移動先のセルに対して罫線や背景色を設定することで強調表示を行うこともご検討ください。
◎サンプルコード(VB)
◎サンプルコード(C#)
なお、SPREADコントロールから別コントロールへフォーカスを遷移させた場合に限り、FpSpreadクラスメンバであるRetainSelectionBlockプロパティを「False」に定義しておくことで、選択中のセル範囲のフォーカス枠を維持しない(表示しない)ようにすることは可能です。詳細については製品ヘルプをご参照ください。
◎サンプルコード
◎サンプルコード(VB)
'罫線定義
Private lb As New FarPoint.Win.LineBorder(Color.Red, 3)
Private Sub FpSpread1_LeaveCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.LeaveCellEventArgs) Handles FpSpread1.LeaveCell
'移動前セルの罫線をリセット
FpSpread1.ActiveSheet.Cells(e.Row, e.Column).ResetBorder()
'移動先セルの罫線を設定
FpSpread1.ActiveSheet.Cells(e.NewRow, e.NewColumn).Border = lb
End Sub
Private lb As New FarPoint.Win.LineBorder(Color.Red, 3)
Private Sub FpSpread1_LeaveCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.LeaveCellEventArgs) Handles FpSpread1.LeaveCell
'移動前セルの罫線をリセット
FpSpread1.ActiveSheet.Cells(e.Row, e.Column).ResetBorder()
'移動先セルの罫線を設定
FpSpread1.ActiveSheet.Cells(e.NewRow, e.NewColumn).Border = lb
End Sub
◎サンプルコード(C#)
//罫線定義
private FarPoint.Win.LineBorder lb = new FarPoint.Win.LineBorder(Color.Red, 3);
private void fpSpread1_LeaveCell(object sender, FarPoint.Win.Spread.LeaveCellEventArgs e)
{
//移動前セルの罫線をリセット
fpSpread1.ActiveSheet.Cells[e.Row, e.Column].ResetBorder();
//移動先セルの罫線を設定
fpSpread1.ActiveSheet.Cells[e.NewRow, e.NewColumn].Border = lb;
}
private FarPoint.Win.LineBorder lb = new FarPoint.Win.LineBorder(Color.Red, 3);
private void fpSpread1_LeaveCell(object sender, FarPoint.Win.Spread.LeaveCellEventArgs e)
{
//移動前セルの罫線をリセット
fpSpread1.ActiveSheet.Cells[e.Row, e.Column].ResetBorder();
//移動先セルの罫線を設定
fpSpread1.ActiveSheet.Cells[e.NewRow, e.NewColumn].Border = lb;
}
なお、SPREADコントロールから別コントロールへフォーカスを遷移させた場合に限り、FpSpreadクラスメンバであるRetainSelectionBlockプロパティを「False」に定義しておくことで、選択中のセル範囲のフォーカス枠を維持しない(表示しない)ようにすることは可能です。詳細については製品ヘルプをご参照ください。
◎サンプルコード
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
FpSpread1.RetainSelectionBlock = False
End Sub
FpSpread1.RetainSelectionBlock = False
End Sub
関連情報
- 【セル型全般】 アクティブセル移動のタイミングを取得したい
- 【セル型全般】 「標準モード(OperationMode.Normal)」および「行選択モード(OperationMode.RowMode)」を定義した場合、アクティブセルの背景色が選択色として表示されません
- 指定したセル範囲の外側と内側の罫線を引く方法はありますか?
- 「読み取り専用モード(OperationMode.ReadOnly)」を定義した場合にフォーカスを表示させたくありません
キーワード
機能・仕様 問題 外観
この文書は、以前は次のFAQ IDで公開されていました : 6186