c# tab 예제

다음 코드 예제는 하나의 탭 페이지로 TabControl을 만듭니다. TabControl의 SelectedTab 속성을 사용하여 프로그래밍 방식으로 TabControl의 활성 탭을 얻고 설정할 수 있습니다. 예를 들어 다음 코드 조각은 PreferencePage를 활성 탭으로 설정합니다. TabItem 요소는 ContentControl 클래스에서 제공되며, 이는 탭이 활성화되어 있는 경우(예: 스크린샷)에 표시되는 단일 요소를 정의할 수 있음을 의미합니다. 이 예제에서는 레이블을 사용했지만 탭 내부에 두 개 이상의 컨트롤을 배치하려면 자식 컨트롤이 있는 패널 중 하나를 사용하십시오. 대부분의 다른 WPF 컨트롤과 마찬가지로 TabControl을 시작하기가 매우 쉽습니다. 다음은 매우 기본적인 예입니다: TabPage의 모든 컨트롤은 양식에 로컬이며 추가 기능을 추가하지 않고 양식에서 액세스할 수 있습니다. 예를 들어 다음 코드는 기본 설정 탭에서 TextBox의 TextBox 속성을 설정합니다. 분명히 콘텐츠는 원하는 방식으로 렌더링 할 수 있지만 탭 헤더도 렌더링 할 수 있습니다! Header 속성은 원하는 모든 항목으로 채워질 수 있으며, 다음 예제에서는 활용할 수 있습니다. 컨트롤의 기본 핸들이 만들어진 스레드에서 지정된 대리자를 비동기적으로 실행합니다. 현재 DPI에 맞게 크기를 조정하고 너비와 높이에 대해 가장 가까운 정수 값으로 반올림하여 크기를 논리 단위에서 장치 단위로 변환합니다. . 컨트롤의 위치, 크기, 패딩 및 여백을 배율 조정합니다.

. 부모 컨트롤을 기준으로 비클라이언트 요소를 포함하여 컨트롤의 크기와 위치를 픽셀 단위로 가져옵니다. .NET Framework 2.0에서 탭은 탭 페이지의 입력 및 탈퇴 이벤트가 발생하는 시기를 결정하기 위한 탭 페이지의 일부로 간주됩니다. .NET Framework의 이전 버전에서는 포커스가 탭에 들어가거나 나갈 때 TabPage의 입력 및 나가기 이벤트가 발생하지 않지만 포커스가 탭 페이지의 클라이언트 사각형에 들어오거나 나갈 때만 발생합니다. 키를 누르면 포커스가 이 컨트롤에 포커스가 있는 동안 키다운 이벤트 가 발생합니다. 컨트롤을 장착할 수 있는 직사각형 영역의 크기를 검색합니다. 유효성 검사가 실패하면 사용자가 탭을 변경하지 못하도록 하려면 SelectedIndexChanged 이벤트가 아닌 선택 이벤트를 사용해야 합니다. 자식 컨트롤의 탭 순서로 다음 컨트롤을 앞으로 또는 뒤로 검색합니다. tbr_Click() 기능은 버튼 목록및 tabPanelCtrlList에서 단추 목록의 개수까지 항목을 바꿉니다. RemoveTab() 기능은 버튼 목록 및 tabPanelCtrlList에서 항목의 항목을 제거합니다. TabControl탭 페이지의 모음이며 탭 페이지는 다른 자식 컨트롤을 호스팅하는 실제 컨트롤입니다.

TabPage 클래스는 탭 페이지를 나타냅니다. .NET Framework 2.0에서 UseVisualStyleBackColor 속성을 사용하면 탭 페이지의 배경이 현재 시각적 스타일을 사용하여 렌더링할지 여부를 나타낼 수 있습니다. 이 문제는 UseVisualStyleBackColor 및 Application.RenderWithVisualStyles 속성 값이 모두 true이고 상위 TabControl의 모양 속성이 정상인 경우에만 발생합니다. 그렇지 않으면 배경이 정상적으로 그려집니다. 탭 페이지에 구성 요소를 추가하려면 먼저 TabPanelControl의 개체를 만들고 TabPanelControl 개체에 모든 컨트롤을 추가 한 다음 AddTab() 함수에 매개 변수로 전달하고 탭을 제거하려면 원하는 탭의 인덱스를 전달하여 RemoveTab (int index) 함수를 호출하십시오. 제거할 수 있습니다. . . TabPage에 포함된 컨트롤은 탭 페이지가 표시될 때까지 만들어지지 않으며 이러한 컨트롤의 데이터 바인딩은 탭 페이지가 표시될 때까지 활성화되지 않습니다.