WinForms DataGridView에서 개별 셀 테두리를 프로그래밍 방식으로 변경합니다

StackOverflow https://stackoverflow.com/questions/995327

문제

WinForms DataGridView에서 개별 셀의 경계를 프로그래밍 방식으로 변경해야합니다. 'NET을 검색 할 때이 링크를 찾았습니다 (http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime) 내가하려고하는 것과 같은 일입니다. 그러나 솔루션의 코드 예제가 없습니다.

"따라서 DataGridViewCell 클래스를 상속하고 AdgrecellBorderStyle 메소드를 재정의하여 DataGridViewCell의 사용자 정의 버전을 얻을 수 있습니다. 그러면 DataGridView 에서이 사용자 정의 된 DataGridViewCell을 사용할 수 있습니다. 참고 : DataGRIDVIWADVANCEDBORDERTLESTTYPLERSLE PROUBLERSLE 회원을 노출시켜야합니다. 이 멤버 테두리 스타일 정보를 셀로 설정할 수 있습니다. 그런 다음 AdjectCellBorderStyle 구현 에서이 DataGridVeadvancedBorderTyle Public Member를 확인하고 해당 DataGridViewAdvancedBorderTyle을 반환해야합니다. 그런 다음 DataGridView PaintCells는이를 사용하여 셀을 페인트 할 수 있습니다. "

이 솔루션 구현을 이해하는 데 어려움을 겪고 있습니다. 누군가 위를 작동하는 VB.NET 코드로 번역하고 개별 셀의 경계를 변경하기 위해 호출하는 예를 제공 할 수 있습니까?

도움이 되었습니까?

해결책

다음은 필요한 것을 수행하는 준비된 예제입니다. 배경색을 설정하는 추가 기능 중에 숨겨져 있습니다.

http://www.codeproject.com/kb/grid/hulihui_customdatagridvie.aspx

라인을 찾으십시오

// must draw border for grid scrolling horizontally 
e.Graphics.DrawRectangle(gridPenColor, rect1);  

이 라인은 세포 테두리를 그립니다. 따라서 개별 세포를 변경하려면 테두리를 설명하려는 속성을 포함하도록 ARGS (CellbackColoreVentargs 클래스)를 변경합니다. 그런 다음 DrawCellbackColor 메소드에서 전달 된 속성 (및 셀에 그리고 싶은 다른 무엇이든)를 기반으로 테두리를 그립니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top