作成日: 2025/05/29 最終更新日: 2025/08/27
文書種別
不具合
状況
修正済み
詳細
しかし、チェックボックス型セルを編集状態にしたままピクセル単位のスクロールを行うと、チェックボックスの位置がセルの中央からずれてしまい、正しく表示されません。
回避方法
Service Pack 3(v17.0.4804.2022/v17.3.0)で修正済み。
■サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
fpSpread1.HorizontalScrollBarMode = FarPoint.Win.HorizontalScrollMode.Pixel;
fpSpread1.VerticalScrollBarMode = FarPoint.Win.VerticalScrollMode.Pixel;
var sheet = fpSpread1.ActiveSheet;
sheet.Columns[0].CellType = new CheckBoxCellType();
sheet.Columns[0].HorizontalAlignment = CellHorizontalAlignment.Center;
sheet.Columns[0].VerticalAlignment = CellVerticalAlignment.Center;
sheet.Rows[0].Height = 100;
sheet.SetActiveCell(0, 0);
sheet.SetValue(0, 0, true);
// 回避策
fpSpread1.EditModeOn += FpSpread1_EditModeOn;
fpSpread1.EditModeOff += FpSpread1_EditModeOff1;
fpSpread1.StartCellEditing(e, false);
}
// 回避策
private void FpSpread1_EditModeOff1(object sender, EventArgs e)
{
if (checkboxEditor != null)
{
checkboxEditor.SizeChanged -= FpCheckBox_SizeChanged;
checkboxEditor = null;
}
}
FpCheckBox checkboxEditor = null;
private void FpSpread1_EditModeOn(object sender, EventArgs e)
{
if (fpSpread1.EditingControl is FpCheckBox fpCheckBox)
{
checkboxEditor = fpCheckBox;
fpCheckBox.SizeChanged += FpCheckBox_SizeChanged;
}
}
private void FpCheckBox_SizeChanged(object sender, EventArgs e)
{
checkboxEditor.Refresh();
}