2014-03-01 1 views
0

두 개의 탭이있는 탭 컨트롤이 있습니다. 사용자가 두 번째 탭을 클릭하면 유효성 검사가 수행되고 유효성 검사가 false를 반환하면 사용자는 다시 돌아갈 것임을 알리는 메시지를받습니다. 자, 여기 내 문제는, 그것은 아래 코드와 함께 어쨌든 탭을 변경합니다 : 사용자가 탭 2를 볼 수는 없지만 변경된 것으로 표시됩니다.TabControl 다른 탭으로의 변경을 피하십시오.

private void tabprincipal_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if (!saved_plan) 
      { 
       MessageBox.Show("You need to save a plan first."); 
       return; 
      } 

이 동작을 어떻게 피할 수 있습니까? 첫 번째 탭에 메시지와 사용자를 표시하고 싶습니다.

사용자가 tab2를 클릭 한 다음 이동하지 못하도록하기 위해 selectedindexchanged 이전에 이벤트를 찾고 있습니다.

답변

0

실제로 TabControl의 선택 취소 방법을 사용하여 방법을 찾았습니다.

private void tabprincipal_Deselecting(object sender, TabControlCancelEventArgs e) 
     { 
      if (!saved_plan) 
      { 
       MessageBox.Show("You need to save a plan first"); 
       e.Cancel = true; 
      } 
     }