2011-09-04 6 views
0

단추를 사용하여 명령을 보내지 않아도되도록 레이블이 자동으로 업데이트되도록 만드는 방법이 있습니까? 내가 설정 한 것은 부분 텍스트 상자, 할인 텍스트 상자, 세금 라벨, 배송 텍스트 상자 및 총 레이블입니다. 따라서 사람들이 부분합, 할인 및 배송을 기입 할 때 이전에 특정 상태가 양식의 다른 부분에서 선택된 경우에만 세금 라벨을 계산해야합니다. 그런 다음 모든 사람들이 채워지면서 전체 레이블을 채우고 싶습니다.이 모든 것들은 버튼으로 할 수 있지만 Visual Studio에서 C#을 사용하여 자동화하는 방법이 있는지 궁금합니다.단추없이 레이블 업데이트

감사합니다.

+3

WinForms? WPF? 실버 라이트? ASP.Net? MonoTouch? – SLaks

+0

@SLaks : WinForms입니다. – cb1295

답변

2

TextChanged 이벤트를 사용하여 텍스트 상자 쌍간에 이러한 값을 업데이트합니다. 사용자의 잘못된 값을 넣을 수 있다면 이것은 좋은 생각이 될 수 있습니다 다음 다른 텍스트 상자 내가 텍스트 상자가의 Text 속성을 업데이트 -

private void onLongitudeTextChanged(object sender, EventArgs e) { 
      updateDistanceAndBearing(); 
     } 

updateDistanceAndBearing 일부 오류 검사를 수행합니다 여기에 내 코드의 일부 추출물은 대신 label.Text 속성을 업데이트하십시오.

그것은 (적어도 난 그렇게 그것을 발견) 당신이 값

+0

좋아,이 텍스트 상자 사이에서 실행되므로 모든 값이 채워 졌는지, 그리고 올바른 값으로 채워 졌는지 확인해야 할 것 같아요. 고마워, 나는 이것을 조금씩 시도 할 것이다. – cb1295

+0

예 입력하는 동안 텍스트 상자의 유효성을 검사하는 방법이 있습니다. NET에서 사용할 수있는 ErrorProvider가 있습니다. http://msdn.microsoft.com/en-us/library/system.windows.forms.errorprovider(v=VS.90).aspx – ScruffyDuck

1

컨트롤의 변경 이벤트에서 레이블을 업데이트하는 메서드를 호출 할 수 있습니다.

자세한 내용은 더 자세히 알려주십시오.

1

이 내 머리 위로 떨어져하지만 당신은 아주 가까이 가야을 얻을 수있는 숫자 updowns이있는 경우 더 지저분

private void taxChanged(object sender, EventArgs e) 
     { 
      updateTax(); 
     } 


private void updateTax() 
     { 
      // the rest of your logic, checking state, etc. 
      // 
      this.Tax.Text = aValueCalculatedInYourLogicAbove; 
      updateTotal() 
     } 

private void updateTotal() 
     { 
      // sum up whatever fields need to be summed 
      // 
      this.Tax.Text = aTotalValueCalculatedAbove; 
     } 
+0

감사합니다. 두 가지를 선택할 수 있기를 바랍니다. 대답은 이미 다른 하나를 선택했지만 이것도 좋습니다. – cb1295

관련 문제