2014-01-07 2 views
1

나는 0으로 float 값 "HalfDay"를 정의하려면 다음 나는 그렇게했을 때 그러나, itoesn't은 보여, 이전에 정의 된이벤트에 float 값을 전달하는 방법은 무엇입니까?

public float HalfDay = 0.0f; 

private void cmbStartDate_SelectedValueChanged(object sender, EventArgs e) 
{ 
    if (cmbStartDate.SelectedIndex == 0) 
    { 
     HalfDay = HalfDay + 0.5; 
    } 
} 

private void cmbEndDate_SelectedValueChanged(object sender, EventArgs e) 
{ 
    if (cmbEndDate.SelectedIndex == 0) 
    { 
     HalfDay = HalfDay - 0.5; 
    } 
} 

lblNumberOfDays.Text = HalfDay.ToString(); 

이 따라 사용자 선택에 어떤 값을 추가 할 이벤트 내에서 자동 제안 메뉴의 "HalfDay"변수. (내 목표 프로그램에 대한 이해를 돕기 위해이 값을 수동으로 입력했습니다.)

제발 누군가가 나에게 올바른 프로그래밍 코드를 제공하여 해당 작업을 수행하십시오.

+1

winforms 또는 webforms입니까? – scheien

+0

윈도우 폼 –

답변

2

전체 클래스에서 액세스 할 수있는 인스턴스 변수를 만들 수 있습니다. 예 :

public class MainForm : Form 
{ 
    public float HalfDay = 0.0f; 

    protected void cmbStartDate_SelectedValueChanged(object sender, EventArgs e) 
    { 
     if (cmbStartDate.SelectedIndex == 0) 
      HalfDay += 0.5f; 

     lblNumberOfDays.Text = HalfDay.ToString(); 
    } 

    protected void cmbEndDate_SelectedValueChanged(object sender, EventArgs e) 
    { 
     if (cmbEndDate.SelectedIndex == 0) 
      HalfDay -= 0.5f; 

     lblNumberOfDays.Text = HalfDay.ToString(); 
    } 
} 

그리고 이벤트가 콤보 박스에 등록되어 있는지 확인.

+1

이것은'global' 변수가 아니라 필드입니다. 혼란스러워하지 마라. – ja72

+0

@ ja72 좋은 지적, 고마워. – Houssni

+1

인스턴스 변수라고 부를 수도 있습니다. – scheien

관련 문제