! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

buttoncelltype 설정 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 buttoncelltype 설정

페이지 정보

작성자 chen0516 작성일 2024-02-15 10:51 조회 46회 댓글 0건
제품 버전 : 13
컨트롤 이름 : Celltype

본문

안녕하세요

buttoncelltype으로 아래와 같은 flat하고 배경색이 blue인 버튼을 생성하고 싶은데


아래 코드를 작성하니

            Dim btncelltype As New FarPoint.Win.Spread.CellType.ButtonCellType
                btncelltype.BackgroundStyle = FarPoint.Win.BackStyle.Default
                btncelltype.ButtonColor = Color.Blue
                btncelltype.ButtonColor2 = Color.Blue
                btncelltype.DarkColor = Color.Blue
                btncelltype.TextColor = Color.White
                btncelltype.ShadowSize = 0
                btncelltype.Text = "버튼"

 

이런식으로 배경은 기본값이 유지되고 텍스트 색상만 변하고 있어서 위와 같이 플랫하고 배경색이 있는 버튼 셀 타입 사용법 문의드립니다

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: buttoncelltype 설정

추천0 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 MESCIUS써니 작성일 2024-02-15 16:51 댓글 0건

본문

chen0516 님, 안녕하세요.

메시어스입니다.


ButtonCellType에서 버튼의 배경색을 다른 색상으로 설정하기 위해서는, UseVisualStyleBackColor 속성을 False로 설정해야합니다.

하기 샘플 코드와 같이 UseVisualStyleBackColor 속성을 false로 설정하고 BackColor 속성을 Blue로 설정하면, 아래 이미지에서 보이는 것처럼 버튼 셀의 배경이 파란색으로 보여집니다.

Dim btncelltype As New FarPoint.Win.Spread.CellType.ButtonCellType
    btncelltype.ButtonColor = Color.Blue
    btncelltype.DarkColor = Color.Blue
    btncelltype.LightColor = Color.Blue
    btncelltype.TextColor = Color.White
    btncelltype.ShadowSize = 0
    btncelltype.Text = "Button"
    btncelltype.UseVisualStyleBackColor = False

a046ed172ad250d0cc2c661b7e94520d_1707982928_4762.png

- Spread.NET WinForms V13 | ButtonColor Property (ButtonCellType)


또한 버튼 셀 유형의 일부 그래픽 요소는 XP 테마(비주얼 스타일, Visual Style)의 영향을 받습니다. FpSpread의 VisualStyles 속성을 "off"로 설정하면 다음과 같이 보여집니다.

fpSpread1.VisualStyles = FarPoint.Win.VisualStyles.On

Dim btncelltype As New FarPoint.Win.Spread.CellType.ButtonCellType
    btncelltype.ButtonColor = Color.Blue
    btncelltype.DarkColor = Color.Blue
    btncelltype.TextColor = Color.White
    btncelltype.ShadowSize = 0
    btncelltype.Text = "Button"

a046ed172ad250d0cc2c661b7e94520d_1707983270_3551.png


FpSpread의 VisualStyle을 Off로 설정하는 대신, PaintCell 및 GetEditorControl 메서드를 재정의한 다음 Appearance 개체의 VisualStyles 속성을 OFF로 설정하는 사용자 정의 버튼 셀 유형을 만들어 사용할 수 있습니다. 하기 샘플 코드를 참고 바랍니다. 샘플은 C#으로 작성되었습니다.

private void Form1_Load(object sender, EventArgs e)
{
    FlatButtonCellType btncelltype = new FlatButtonCellType();
    btncelltype.ButtonColor = Color.Blue;
    btncelltype.DarkColor = Color.Blue;
    btncelltype.LightColor = Color.Blue;
    btncelltype.ShadowSize = 0;
    btncelltype.TextColor = Color.White;
    btncelltype.Text = "Button";

    fpSpread1.ActiveSheet.Cells[1, 1].CellType = btncelltype;
}

public class FlatButtonCellType : FarPoint.Win.Spread.CellType.ButtonCellType
{
    public override void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, object value, bool isSelected, bool isLocked, float zoomFactor)
    {
        appearance.VisualStyles = FarPoint.Win.VisualStyles.Off;

        base.PaintCell(g, r, appearance, value, isSelected, isLocked, zoomFactor);
    }

    public override Control GetEditorControl(FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
    {
        appearance.VisualStyles = FarPoint.Win.VisualStyles.Off;
        return base.GetEditorControl(appearance, zoomFactor);
    }

    public override Control GetEditorControl(Control control, FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
    {
        appearance.VisualStyles = FarPoint.Win.VisualStyles.Off;
        return base.GetEditorControl(appearance, zoomFactor);
    }
}


자세한 내용은 아래 링크된 도움말 문서에서 확인하실 수 있습니다.

- Spread.NET WinForms V13 | Using XP Themes with the Component


답변이 도움이 되었다면, 우측 상단의 "채택" 버튼을 눌러 피드백을 남겨주시면 감사하겠습니다. 추가로 궁금하신 내용이 있을 경우 문의해 주시기 바랍니다.


감사합니다.

메시어스 드림

 

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.