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

Button셀타입의 값이 1이되면 색이 변경되는 이유가 있나요 ? > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 Button셀타입의 값이 1이되면 색이 변경되는 이유가 있나요 ?

페이지 정보

작성자 편도준 작성일 2023-11-27 09:44 조회 104회 댓글 0건
제품 버전 : Spread.NET_V12_12.0.20193.0

본문

안녕하세요 항상 질문에 답변해주셔서 감사합니다.


버튼 셀타입을 지정 중 버튼의 Value나 Text를 1로 지정해 줄 경우 저렇게 파란색으로 변경이되는데

이를 막을 방법이 없을까요 ? 혹시 이렇게 되는 이유도 알 수 있는지 궁금합니다.


 

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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: Button셀타입의 값이 1이되면 색이 변경되는 이유가 있나요 ?

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-29 14:26 댓글 5건

본문

편도준 님, 안녕하세요.

메시어스입니다.


ButtonCellType에서, appearance.DrawPrimaryButton이 true일 경우 버튼을 그리며, 아닌 경우 일반 셀로 그립니다.

또한 appearance.DrawPrimaryButton이 true일 경우, 해당 버튼 셀의 value는 버튼이 눌렸는지 결정하는 데에만 사용이 됩니다. 이 때 해당 셀의 value가 1인 경우 버튼이 눌려있는 것으로 판단합니다.


따라서 초기 버튼 셀 페인팅 시 셀의 value가 1이어서 버튼이 파랗게 보여지는 현상을 원치 않으실 경우 , 다른 값(예시: null)을 value로 전달하고 사용하지 않음으로써 버튼 색이 파란색으로 변경되는 것을 방지하실 수 있습니다.


하기 ButtonCellType 사용자정의 샘플 코드를 참고하여주시기 바랍니다.

public class CustomButtonCellType : 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)
  {
    base.PaintCell(g, r, appearance, appearance.DrawPrimaryButton ? null : value, isSelected, isLocked, zoomFactor);
  }
}


감사합니다.

메시어스 드림

댓글목록

편도준님의 댓글

편도준 작성일

답변 감사합니다. 혹시 위와 같은 오버라이딩 방식말고 기존 ButtonCellType에서 속성을 변경하여 사용할 수 있는 방법은 없을까요 ??? 

MESCIUS써니님의 댓글의 댓글

MESCIUS써니 작성일

아쉽게도 기존 ButtonCellType의 속성으로는 해당 기능을 적용하기 어렵습니다. 혹시 ButtonCellType으로 설정된 셀의 Value를 1이 아닌 다른 값으로 설정하는 것은 어려우실까요?

편도준님의 댓글의 댓글

편도준 작성일

아 없다니 어쩔 수 없군요 Value값 지정 말고 ButtonCellType의 Text를 1로 변경하는 방식으로 해야겠네요 ㅠㅠ 답변 감사합니다!

삭제된 댓글

MESCIUS써니 작성일

삭제된 댓글 입니다.

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