2013-04-05 3 views
0

나는 계속해서 문제가 발생했으며 문제가 무엇인지 확신 할 수 없습니다. Microsoft Visual Studio에서 radioButton1은 연속적인 숫자의 합을 찾는 프로그램을 만들고 radioButton2는 숫자의 계승을 찾는 프로그램입니다.라디오 버튼과 for 루프가있는 If-else 문

FOR 루프, WHILE 루프 및 DO-WHILE 루프의 세 버튼이 있습니다. 나는 FOR 버튼으로 일하고있다.

내가하려는 것은 선택을 한 다음 버튼 중 하나를 누르면 메시지 상자에서 클릭 한 루프를 사용하여 답을 찾을 수 있습니다.

는 내가 지금까지 들어 왔 것입니다 :

"radioButton2.CheckedChanged 'Lab5'does가 정의를 포함하지' '없이 확장 방법 :이 메시지를 수신 계속

private void button1_Click(object sender, System.EventArgs e) 
{ 
    if ((radioButton1.Checked == true) && (radioButton2.Checked == false)) 
    { 
    int sum = 0; 
    int number = int.Parse(numericUpDown1.Value.ToString()); 
    for (int i = 1; i <= number; i++) 
    { 
     sum = sum + i; 
     MessageBox.Show("The sum of the consecutive numbers leading up to " + number + " is " + sum + "."); 
    } 
    MessageBox.Show("The sum of the consecutive numbers leading up to " + number + " is " + sum + "."); 
    } 
    else if ((radioButton2.Checked == true) && (radioButton1.Checked == false)) 
    { 
    int product = 1; 
    int number = int.Parse(numericUpDown1.Value.ToString()); 
    for (int i = 1; i <= number; i++) 
    { 
     product *= i; 
     MessageBox.Show("The factorial of the numbers leading up to " + number + " is " + product + "."); 
    } 
    MessageBox.Show("The factorial of the numbers leading up to " + number + " is " + product + "."); 
    } 
    else 
    { 
    MessageBox.Show("Invalid"); 
    } 
} 

'radio5utton2.CheckChanged' 'Lab5'유형의 첫 번째 인수를 수락 할 수 있습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?). "

그리고 나는 솔직히 그게 무슨 뜻인지 전혀 몰라.

도움을 주시면 감사하겠습니다.

radioButton2가 선택되었을 때 radioButton1에 대한 메시지 상자가 나타나지 않기 때문에 if-else 문에 그대로 유지하고 싶습니다.

+0

오류 메시지에서 언급 한 위 코드 중 어떤 행을 언급합니까? 이것이 의미하는 바는 기본적으로 어딘가에'Lab5.CheckedChanged (...) '처럼 보이는 메소드 호출을 가지고 있지만'Lab5' (뭐든간에)는 CheckedChanged 메소드를 가지고 있지 않습니다. –

+0

나는 그것이 aspx 파일의 클라이언트 코드에서 발생한다고 확신한다. 'RadioButton' 태그로 HTML 코드를 보여 주시겠습니까? –

+0

당신은 컨트롤 이름을 부여해야합니다 –

답변

1

실수로 해당 라디오 버튼에 처리기를 추가 한 다음 (예 : 디자이너에서 두 번 클릭) 삭제했습니다. 솔루션이 구축되면 해당 기능을 찾고 있지만 찾을 수 없습니다.

RadioButton2 코드에 대해 Lab5.Designer.cs를 확인하십시오. 다음과 같이 표시됩니다.

this.radioButton1.AutoSize = true; 
this.radioButton1.Location = new System.Drawing.Point(102, 162); 
this.radioButton1.Name = "radioButton1"; 
this.radioButton1.Size = new System.Drawing.Size(85, 17); 
this.radioButton1.TabIndex = 1; 
this.radioButton1.TabStop = true; 
this.radioButton1.Text = "radioButton1"; 
this.radioButton1.UseVisualStyleBackColor = true; 
this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged); /* THis is the offending line! */ 

마지막 줄에 존재하지 않는 메소드를 참조하는 이벤트 핸들러를 추가하려고합니다. 여기에서 제거 할 수 있습니다.

또한 프로그램이 빌드 될 때 컴파일 오류를 두 번 클릭하면 IDE가 문제의 원인을 알려줍니다.

+0

정말 많이 도움이되었습니다. 그것은 그 후에 일했다 그래서 고맙다! –

+0

@KJohns Cool. 예, 실수로 디자이너에서 두 번 클릭하여 이벤트 처리기를 추가하는 것이 쉽습니다. 그게 당신의 모든 문제를 해결했다면, 대답으로 받아들이십시오. –

0

숙제처럼 보입니다. 어느 쪽이든, CheckChanged 이벤트에 대한 라디오 버튼에 대한 핸들러를 구현해야합니다. 또한 그룹에 해당 라디오 버튼을 배치하면 둘 중 하나를 점검 할 수 있으며 checkchanged 이벤트에서 일부 functionMode 등을 채워야합니다. 예를 들어 RadioButton1을 선택하면 적용 할 수식이 포함될 변수를 저장해야하며 다른 수식에서 변경해야하는지 확인해야합니다. 버튼 제출 이벤트에서 해당 변수를 사용하여 현재 모드를 확인하고 해당 수식을 적용합니다.