문제

텍스트가없는 사각형과 같은 크기의 크기는 테두리가 있고 보이지 않으며 (컨트롤 주변의 형태의 시각적 사각형이지만 컨트롤을 포함하지 않기 위해) 보이지 않습니다.

도움이 되었습니까?

해결책

사용하고 싶은 것은 GroupBox입니다. 실제로는 중요하지는 않지만 레이블은 패널보다 저렴해야합니다.

다른 팁

정답은; 발자국이 작은 것은 중요하지 않으며 디자인 문제가 있다면 방법 양식에 너무 많은 컨트롤). 어쨌든, 작업,이 경우 패널 또는 그룹 상자에 맞는 컨트롤을 사용해야합니다.

이것이 실제로 문제라면, 컨트롤간에 시각적 분리를 제공하는 가장 좋은 방법은 각 탭 페이지의 페인트 이벤트를 처리하고 e.graphics.fillRectangle (...)을 사용하여 분리기를 그리는 것입니다. 당신은 그렇게 많은 수의 컨트롤을 제거 할 것입니다.

각 탭 페이지의 각 컨트롤 아래에 사각형을 그리는 것만 큼 간단한 일을 할 수없는 경우 양식에서 한 번 실행하는 코드 생성 루틴을 작성할 수 있으며 각 탭 페이지에서 다음과 같은 것을 생성 할 수 있습니다 (이와 같은 것을 생성 할 수 있습니다. 페이지의 모든 분리기 컨트롤을 반복하여 :

List<Rectangle> rects = new List<Rectangle>();
rects.Add(new Rectangle(10, 40, 200, 5)); // position of first separator
rects.Add(new Rectangle(10, 80, 200, 5)); // position of second separator
// etc.

그런 다음 생성 된 코드 루틴을 애플리케이션에 복사하고 붙여 넣고 다음과 같은 각 페이지의 페인트 이벤트에 사용합니다.

SolidBrush brush = new SolidBrush(Color.PeachPuff);
foreach (Rectangle rect in rects)
{
    e.Graphics.FillRectangle(brush, rect);
}

그런 다음 탭 컨트롤에서 모든 분리기를 삭제합니다. 당신이 끝내야 할 것은 유형의 배열입니다 List<Rectangle> 양식의로드 이벤트 또는 생성자 (생성 된 코드 사용)를 인스턴스화하고 채우는 (각 페이지의 한 목록).

그래도 Ed가 말한 것을 반복해야합니다. .NET 양식을 가질 수 있습니다 많은 실제 문제없이 그들에 대한 통제의 경우, 양식에 너무 많은 컨트롤을 갖지 못하는 문제가 발생하면 모든 것을 재 설계하는 것이 더 나을 수 있습니다.

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