2015-01-17 1 views
0
private void button1_Click(object sender, EventArgs e) 
{ 

    if (radioButton1.Checked || radioButton2.Checked || radioButton3.Checked) 
    { 

     Form3 objd = new Form3(tp, m, l); 
     objd.Show(); 
     this.Hide(); 
    } 
    else if (!radioButton3.Checked && !radioButton2.Checked && !radioButton1.Checked) 
    { 
     MessageBox.Show("Please select any class"); 
    } 
} 

디버그 중 하나와 라디오 버튼 중 하나가 선택되어있을 때 버튼 클릭 이벤트에 다음 문이 있습니다. 메시지 상자가 양식 3을 표시하지 않는다고 표시됩니다. 아마도 "||" 또는 연산자IF 조건에서 다중 OR 연산자로 IF 문이 작동하지 않습니다.

+5

문제를 실행 더 나은 중단 점을 추가

Form objd=new Form(); 

Form3 objd = new Form3(tp, m, l); 

을 대체 – Richard

+0

바로 ^. 핵심 언어 연산자에 대한 문제는 찾을 수 없습니다. – Tux

+0

완료 감사합니다 친구 –

답변

0

조건의 각 부분의 평가 결과와 그 후에 전체 조건 결과를 사용하여 logs \ 추적 지점을 추가하십시오 (마우스 오른쪽 버튼을 클릭하여 추적 점 삽입 {사용자가 화면에 인쇄하려고 함)). 나는 대답이 그 자체를 드러내 리라 믿는다. :).

다음`과

0

는 내가 코드를 시도하고 나를 위해 잘 작동 ||` * 극단적 인 * 가능성은 희박합니다 : 3 버튼의 'Checked` 속성의 값을 체크하여 시작합니다. 디버거 (또는 로깅을 통해).
+0

실제로 내가 몰라하지만 내가 잘라내어 첫 번째 문을 붙여 넣을 때 작동하지만 나중에 다시 항상 메시지 상자를 보여줍니다 너무 이상한, 나는 거의 하루 종일 그것을 보냈다, 아직 찾지 못했습니다 soluchiion –

+0

@AliAhmed는 Form3을 대체합니다 objd = 새로운 Form3 (tp, m, l); 양식 objd = 새 양식(); 그 다음에 괜찮습니까? –