양식에 탭 컨트롤이 있고 사용자 컨트롤이 폼로드 이벤트에서 각 탭 페이지로로드됩니다. 탭 사이의 명령 단추를 사용하여 탭 사이를 전환하려고합니다. 즉, 단추가 폼이 아닌 다른 사용자 컨트롤에 있음을 의미합니다.내에서 단추를 사용하여 탭 페이지간에 전환
tabControl1.SelectedTab = tabPage2;
을 사용할 수 없습니다. 이것을 어떻게 할 수 있습니까?
양식에 탭 컨트롤이 있고 사용자 컨트롤이 폼로드 이벤트에서 각 탭 페이지로로드됩니다. 탭 사이의 명령 단추를 사용하여 탭 사이를 전환하려고합니다. 즉, 단추가 폼이 아닌 다른 사용자 컨트롤에 있음을 의미합니다.내에서 단추를 사용하여 탭 페이지간에 전환
tabControl1.SelectedTab = tabPage2;
을 사용할 수 없습니다. 이것을 어떻게 할 수 있습니까?
tabControl1.SelectedIndex = index;
//where index is the index (integer value) of the tabpage you want to select
UPDATE
확인 :
public int TabControlIndex
{
get { return tabControl1.index; }
set { tabControl1.index = value; }
}
당신이 당신의 form load event
등에 동일하게 호출 할 수 있습니다 How to access properties of a usercontrol in C#
이 같은 사용자 정의 컨트롤의 속성으로 속성을 노출 this :
Usercontrol1.TabControlIndex = index;
//where index is the index (integer value) of the tabpage you want to select
당신은 하나의 생성자 또는 일부 초기화 방법을 통해 매개 변수로 UserControl을에 (그 pageIndex와 함께)을 TabControl 인스턴스를 전달할 수 있습니다
이 경우 귀하의 UserControl에서
MyUserControl userControl = new MyUserControl(tabControl1, pageIndex1);
또는
MyUserControl userControl2 = new MyUserControl();
userControl2.BindToTabControl(tabControl1, pageIndex2);
사용자 클릭 및 탭 전환을 처리 할 수 있습니다.
또는 사용자가 UserControl 단추를 클릭 할 때 발생하는 이벤트를 UserControl에서 만들 수 있습니다. 기본 양식은이 이벤트에 가입하고 처리해야합니다. 이 경우 기본 양식의 코드가 탭 전환을 담당합니다. 내가 생각하기에 더 나은 해결책이다.
고마워. 나는 너의 대답을 너무 좋아한다. – Lihini
내 대답은 – reggie