2012-12-08 4 views
0

안녕하세요 두 개의 라디오 버튼이 있습니다. 한 남자와 한 여자. 문제는 그 중 하나 (예를 들어 남성)가 점검되고 다른 하나 (여성)로 변경하려고 시도 할 때 사용자에게 경고 메시지를 표시한다는 것입니다. 그가 ok를 누르면 가 여성에서 남성으로 바뀌고 모든 것은 괜찮습니다. 그러나 그가 언론을 취소하면 라디오 버튼도 여성에서 남성으로 바뀝니다. 어떻게 내가 이것을 막을 수 있니? radiobutton_checked 수신기를 사용하지 않고 언제든지 사용할 수있게 설정할 수있는 방법이 있습니까?
남성과 여성 청취자의 코드는 다음과 같습니다
라디오 버튼이 경고 메시지를 변경합니다.

private void NewTrdButtonMale_Checked(object sender, RoutedEventArgs e) 
    { 
//if there are participants for deletion i display a warning message that says that if you change from female to male the deletion will be done 
     if (newAreParticipantsForDeletion()) 
     { 
      switch (warningMessage()) 
      { 
       case "OK": 
        //nothing useful for you here 
        break; 
       case "Cancel": 
        break; 
      } 
     } 
     else 
     { 
      //nothing interesting here 
     } 

    } 

    private void NewTrdButtonFemale_Checked(object sender, RoutedEventArgs e) 
    { 
     //it is the same code as the above but it is for female 
    } 

위의 방법은 라디오 버튼에 대한 리스너입니다. 내가하고 싶은 일은 사용자가 취소를 눌러도 변경이 수행되지 않는다는 것입니다. 하지만 이미 남성 수색 청취자이기 때문에 이것은 어려운 부분이므로 변경 작업이 이미 완료되었습니다.

+0

코드를 게시 하시겠습니까? –

+0

WPF, Winforms 또는 Win8? – OmegaMan

+0

죄송합니다. 게시했지만 매우 유용하다는 확신이 없습니다. 그것은 wpf입니다. – userX

답변

0

해결책을 찾았습니다.

취소 선택에 다음 코드를 입력해야합니다.

NewTrdButtonFemale.Checked -= new RoutedEventHandler(NewTrdButtonFemale_Checked); 
        NewTrdButtonFemale.IsChecked = true; 
        NewTrdButtonFemale.Checked += new RoutedEventHandler(NewTrdButtonFemale_Checked); 

위의 코드는 수신기를 비활성화합니다. 그 후에 나는 여성 선택을 복원하고 그 후에 청취자를 다시 활성화합니다.

관련 문제