2013-11-03 2 views
0

나는 이것에 초보자이며 계산 버튼을 클릭하면 총계가 꺼지는 이유에 대해 혼란 스럽습니다. 어떤 지침이나 실수를 지적하면 크게 감사하겠습니다.GroupBox (라디오 버튼)에서 계산

Public Class Form1 

Dim IntegerValue1 As Double 
Dim IntegerValue2 As Double 


Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles GroupBox1.Enter 
    If RadioGlazed.Checked = True Then 
     IntegerValue1 = 0.65 
    ElseIf RadioSugar.Checked = True Then 
     IntegerValue1 = 0.65 
    ElseIf RadioChocolate.Checked = True Then 
     IntegerValue1 = 0.85 
    ElseIf RadioFilled.Checked = True Then 
     IntegerValue1 = 1.0 
    End If 
End Sub 

Private Sub GroupBox2_Enter(sender As Object, e As EventArgs) Handles GroupBox2.Enter 
    If RadioNone.Checked = True Then 
     IntegerValue2 = 0.0 
    ElseIf RadioRegular.Checked = True Then 
     IntegerValue2 = 1.8 
    ElseIf RadioCapp.Checked = True Then 
     IntegerValue2 = 2.5 
    End If 
End Sub 


Private Sub ButtonCalc_Click(sender As Object, e As EventArgs) Handles ButtonCalc.Click 

    SubTotal.Text = (IntegerValue1) + (IntegerValue2) 

End Sub 
+0

Group Box Enter 이벤트에서 IntegerValues를 얻는 경우 - 사용자가 그곳에 가지 않으면 값이 설정되지 않음 가 선택됩니다. calc 전에 더 이상 변경이 불가능할 때 버튼 클릭 이벤트에 'IntegerValueX' 변수를 설정할 수 있고 설정해야합니다. 또한,'SubTotal.Text = (IntegerValue1 + IntegerValue2) .ToString'을 시도하십시오. – Plutonix

+0

답장을 보내 주셔서 감사합니다. 기본적으로 그룹 상자를/else 문을 꺼내어 계산 버튼 이벤트에 모두 넣으면 효과가 있습니다. – JLM

+1

또 다른 관찰을 추가하려면 RadioButton.Checked 속성은 말할 필요도없는 부울입니다. RadioButton.Checked = True 인 경우 True = True이면 말합니다. 그냥 말하면 RadioButton.Checked 그럼 .... –

답변

0

값을 연결하고 각 RB의 .Tag 속성 값 (0.65, 0.85 등)를 지정한 다음, 그들은 클릭하면 그것을 캡처하는 것입니다 캡처하는 청소기 방법. 이렇게하면 SELECT CASE 또는 IF/ELSEIF를 함께 사용하지 않아도됩니다.

Private Sub RBGroup1_CheckedChanged(ByVal sender As System.Object, _ 
     ByVal e As System.EventArgs) Handles RadioGlazed.CheckedChanged, _ 
     RadioSugar.CheckChanged  
     ' add for each RB in the group 

    IntegerValue1 = CType(sender, RadioButton).Tag 
    ' may only need: 
    'IntegerValue1 =sender.Tag 

End Sub 

하나의 처리기로 하나의 이벤트로 모두 처리 할 수 ​​있습니다. 그룹 2의 RB 중 하나에 대한 클릭을 수정하여 수정하십시오 (IntegerValue2의 경우). 이제 사용자가 선택하면 값이 설정됩니다. 이전/추가 이벤트 처리기를 삭제하고 양식이로드 될 때 변수가 설정되도록 각 그룹의 하나의 RB가 시작되도록 선택되었는지 확인하십시오. 또한 더 많은 도넛/쿠키 등을 추가하면 새로운 Handler와 TAG 값을 추가해야합니다.

관련 문제