RetainSelectionBlockプロパティをFalseに設定してもSPREADがフォーカスを失ったときにヘッダセルがハイライト表示されたままになる
対象製品
SPREAD for Windows Forms 8.0J
状況
修正済み
詳細
RetainSelectionBlockプロパティをFalseに設定した場合、SPREADがフォーカスを失った際に選択されているセル範囲をハイライト表示が無効になります。
ただ、ヘッダセルのハイライト表示がSPREADがフォーカスを失った際にも維持されます。本来はハイライト表示されません。
【手順】
1.新規フォームにSPREADとTextBoxを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.A1セルからC3セルを選択します
4.TextBoxをクリックします
--SPREADのセルの選択色やフォーカス枠は表示されませんが、ヘッダセルがハイライト表示されたままです
【サンプルコード】
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
FpSpread1.RetainSelectionBlock = False
End Sub
ただ、ヘッダセルのハイライト表示がSPREADがフォーカスを失った際にも維持されます。本来はハイライト表示されません。
【手順】
1.新規フォームにSPREADとTextBoxを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.A1セルからC3セルを選択します
4.TextBoxをクリックします
--SPREADのセルの選択色やフォーカス枠は表示されませんが、ヘッダセルがハイライト表示されたままです
【サンプルコード】
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
FpSpread1.RetainSelectionBlock = False
End Sub
回避方法
Service Pack 1(v8.0.3502.2008)で修正済み。
Service Pack 1(v8.0.3502.2008)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
EnterイベントおよびLeaveイベントでハイライトを独自に制御します。
【サンプルコード】
Private Sub FpSpread1_Enter(sender As Object, e As EventArgs) Handles FpSpread1.Enter
' ヘッダのハイライト表示を有効化
FpSpread1.PaintSelectionHeader = True
End Sub
Private Sub FpSpread1_Leave(sender As Object, e As EventArgs) Handles FpSpread1.Leave
' ヘッダのハイライト表示を無効化
FpSpread1.PaintSelectionHeader = False
End Sub
Service Pack 1(v8.0.3502.2008)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
EnterイベントおよびLeaveイベントでハイライトを独自に制御します。
【サンプルコード】
Private Sub FpSpread1_Enter(sender As Object, e As EventArgs) Handles FpSpread1.Enter
' ヘッダのハイライト表示を有効化
FpSpread1.PaintSelectionHeader = True
End Sub
Private Sub FpSpread1_Leave(sender As Object, e As EventArgs) Handles FpSpread1.Leave
' ヘッダのハイライト表示を無効化
FpSpread1.PaintSelectionHeader = False
End Sub