2010-03-11 7 views
4

이상한 문제가 있습니다. 이것이 GroupBox/TabControl 내의 .NET DataGridView의 기본 동작인지는 잘 모릅니다.WinForms - DataGridView GroupBox에서 스타일을 상속받습니다.

저는 처음부터 새로운 WinForm 프로젝트를 만들고 GroupBox를 만들었습니다 (텍스트 스타일을 변경했습니다). 이처럼 : 다음

alt text http://www.freeimagehosting.net/uploads/65f5f2762d.png

,이 같은, 전혀 간단한 DataGridView를, 아니 글꼴 스타일을 만들었습니다

alt text http://www.freeimagehosting.net/uploads/09f55f951a.png

그런 다음, 디자인 모드에서, 나는 DataGridView를 끌고 그룹 상자, 마법의 이런 종류의 내부 단지 무슨 일이 있었 :

alt text http://www.freeimagehosting.net/uploads/d0334132f0.png

제 질문은,이 동작을 비활성화 할 수 있습니까? 왜냐하면 GroupBox 밖에서 DataGridView 스타일을 변경 한 다음 드래그하면 모든 스타일이 손실됩니다.

이 양식의 코드는 입니다. 코드 번호는입니다.

미리 감사드립니다.

+0

나는 또한이 문제를 특히 글꼴에 주목했습니다. 그것은 디자인에 의한 것 같지만, 비 기본 스타일을 드래그 할 때 변경된 적이 없어서 이상하게 보입니다. "사용 안 함"으로 설정 한 유일한 방법은 끌어온 컨테이너에서 기본값으로 설정된 속성을 변경하는 것입니다. –

답변

2

겪고있는 것을 Ambient Properties이라고합니다. 간단히 말해, 속성이 명시 적으로 할당되지 않은 경우 컨트롤이 부모로부터 일부 속성 값을 "상속"하는 메커니즘입니다. 원하는 값을 속성에 할당하는 것 외에 동작을 방지하는 방법을 모르겠습니다.

13

패널을 그룹 상자에 넣은 다음 패널의 글꼴 속성을 설정해보십시오. 이렇게하면 DataGridView가 패널의 속성을 상속받습니다. DataGridView의 모든 글꼴 속성을 설정하는 것보다 훨씬 쉽습니다.

+0

+1 멋진 간단한 수정. 많은 어려움을 덜어 줬어. – Peter

+1

GENIUS! 이것이 왜 대답으로 표시되지 않는지 나는 이해할 수 없다! –

+0

니스! 솔루션을 구현하는 것은 쉽고 간단합니다. 시간을 좀 절약 해 줬어! – konrad

관련 문제