作成日: 2017/12/11 最終更新日: 2017/12/22
文書種別
不具合
状況
修正済み
詳細
シートを削除するとシートタブの背景色の同期がとれなくなります。
【再現手順】
1.新規フォーム上にSPREADとボタンを配置します
2.サンプルコードをコピーしプロジェクトを開始します
3.Sheet1がアクティブになっていることを確認しボタンを押下します
-- Sheet3のシートタブが赤くなります(Sheet2のシートタブが赤くなるべきです)
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FpSpread1.Sheets.Count = 3
FpSpread1.TabStrip.Item(1).BackColor = Color.Red
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FpSpread1.Sheets.Remove(FpSpread1.ActiveSheet)
End Sub
【再現手順】
1.新規フォーム上にSPREADとボタンを配置します
2.サンプルコードをコピーしプロジェクトを開始します
3.Sheet1がアクティブになっていることを確認しボタンを押下します
-- Sheet3のシートタブが赤くなります(Sheet2のシートタブが赤くなるべきです)
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FpSpread1.Sheets.Count = 3
FpSpread1.TabStrip.Item(1).BackColor = Color.Red
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FpSpread1.Sheets.Remove(FpSpread1.ActiveSheet)
End Sub
回避方法
Service Pack 2(v10.0.4006.2012)で修正済み。
Service Pack 2より前のバージョンでは次の回避方法が有効です。
------------------------------------------
【サンプルコード】
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 回避策(シートタブを保存)
Dim sheetTabs As New ArrayList()
For i As Integer = 0 To FpSpread1.TabStrip.Count - 1
sheetTabs.Add(DirectCast(FpSpread1.TabStrip(i), FarPoint.Win.Spread.SheetTab))
Next
sheetTabs.RemoveAt(FpSpread1.ActiveSheetIndex)
' シートの削除
FpSpread1.Sheets.Remove(FpSpread1.ActiveSheet)
' 回避策(タブに適用)
For i As Integer = 0 To FpSpread1.Sheets.Count - 1
FpSpread1.TabStrip(i).BackColor = _
DirectCast(sheetTabs(i), FarPoint.Win.Spread.SheetTab).BackColor
Next
End Subf
Service Pack 2より前のバージョンでは次の回避方法が有効です。
------------------------------------------
【サンプルコード】
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 回避策(シートタブを保存)
Dim sheetTabs As New ArrayList()
For i As Integer = 0 To FpSpread1.TabStrip.Count - 1
sheetTabs.Add(DirectCast(FpSpread1.TabStrip(i), FarPoint.Win.Spread.SheetTab))
Next
sheetTabs.RemoveAt(FpSpread1.ActiveSheetIndex)
' シートの削除
FpSpread1.Sheets.Remove(FpSpread1.ActiveSheet)
' 回避策(タブに適用)
For i As Integer = 0 To FpSpread1.Sheets.Count - 1
FpSpread1.TabStrip(i).BackColor = _
DirectCast(sheetTabs(i), FarPoint.Win.Spread.SheetTab).BackColor
Next
End Subf
旧文書番号
41434