WinForms [Selection] 선택 항목 강조 방법 사용자 정의하기
페이지 정보
작성자 GCK써니 작성일 2023-09-19 16:07 조회 113회 댓글 0건본문
관련링크
기본적으로 Spread 컴포넌트는 선택 항목을 강조하기 위해 선택 렌더러의 설정을 사용합니다. 무언가가 선택되면 렌더러는 선택 항목의 배경색을 변경합니다. 이 렌더링을 사용하는 대신 선택 항목의 배경 및 텍스트 색상에 사용할 특정 색상을 지정할 수 있습니다. 또는 기본 렌더러의 설정과 사용자가 설정한 색상을 모두 사용할 수 있습니다. 마지막으로, 셀 선택 시 선택 항목이 강조되지 않도록 설정할 수 있습니다.
다음 표에서는
1) 렌더러의 기본 설정을 사용하여 선택 항목을 강조하는 경우
2) 사용자가 설정된 색상을 사용하여 선택 항목을 강조하는 경우
3) 렌더러 스타일과 사용자가 설정된 색상을 모두 사용하여 선택 항목을 강조하는 경우
를 보여줍니다.
SelectionStyle 속성 값 |
적용 결과 |
SelectionRenderer |
|
SelectionColors |
|
Both |
각각의 설정을 자세하게 살펴보겠습니다.
1. 렌더러의 설정을 사용하는 경우
SelectionStyle이 SelectionRenderer인 경우, 셀 선택 시 렌더러의 설정을 사용합니다.
셀은 셀의 ForeColor 및 BackColor 속성 설정을 사용하여 페인팅됩니다. 그런 다음 셀을 선택하였을 때 반투명 레이어가 셀 위에 그려집니다. 반투명 레이어는 ISelectionRenderer의 PaintSelection 메서드에 의해 그려집니다. 다음과 같이 PaintSelection 메서드를 재정의하여 반투명 레이어의 색상을 사용자정의해서 사용할 수 있습니다.
- C#
fpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionRenderer; fpSpread1.SelectionRenderer = new CustomSelectionRenderer(); public class CustomSelectionRenderer : FarPoint.Win.Spread.ISelectionRenderer { public void PaintSelection(Graphics g, int x, int y, int width, int height) { Brush selectionBrush = new SolidBrush(Color.FromArgb(100, 193, 224, 255)); g.FillRectangle(selectionBrush, x, y, width, height); } }
2. 선택 텍스트 색상과 선택 배경색을 사용하는 경우
SelectionStlye이 SelectionColors인 경우, 셀의 ForeColor 및 BackColor 속성 설정 대신 SelectionForeColor 및 SelectionBackColor 설정을 사용하여 셀이 그려집니다.
아래 샘플 코드에서는, 선택된 셀을 강조하기 위해 선택된 셀의 텍스트 색상을 DeepPink로, 배경색을 SkyBlue로 설정합니다.
- C#
// SelectionStyle을 SelectionColors로 설정합니다. fpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors; // 선택된 셀을 강조할 때 사용할 색상을 설정합니다. fpSpread1.ActiveSheet.SelectionForeColor = System.Drawing.Color.DeepPink; fpSpread1.ActiveSheet.SelectionBackColor = System.Drawing.Color.SkyBlue;
- VB.NET
' SelectionStyle을 SelectionColors로 설정합니다. FpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors ' 선택된 셀을 강조할 때 사용할 색상을 설정합니다. FpSpread1.ActiveSheet.SelectionForeColor = System.Drawing.Color.DeepPink FpSpread1.ActiveSheet.SelectionBackColor = System.Drawing.Color.SkyBlue
3. 렌더러의 설정과 선택 색상을 사용하는 경우
SelectionStlye이 Both인 경우, 선택된 항목의 텍스트 색상 및 배경색이 각각 SelectionForeColor 및 SelectionBackColor로 설정됩니다. 이후 선택된 셀 위에 반투명 레이어가 그려집니다.
- C#
// SelectionStyle을 Both로 설정합니다. fpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.Both; // 선택된 셀을 강조할 때 사용할 색상을 설정합니다. fpSpread1.ActiveSheet.SelectionForeColor = System.Drawing.Color.DeepPink; fpSpread1.ActiveSheet.SelectionBackColor = System.Drawing.Color.SkyBlue;
- VB.NET
' SelectionStyle을 Both로 설정합니다. FpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.Both ' 선택된 셀을 강조할 때 사용할 색상을 설정합니다. FpSpread1.ActiveSheet.SelectionForeColor = System.Drawing.Color.DeepPink FpSpread1.ActiveSheet.SelectionBackColor = System.Drawing.Color.SkyBlue
댓글목록
등록된 댓글이 없습니다.