NumericUpDown이 있습니다. 사용자가 값을 변경하면 확인할 MessageBox가 표시됩니다. 사용자가 예를 선택한 경우 모두 정상입니다. 사용자가 아니요를 선택한 경우 원래 값으로 복원하려고합니다.NumericUpDown의 값 복원
Q1 :
나는이 문제에 실행했다. 원래 값을 얻는 방법.
사용자가 예를 선택할 때 업데이트되는 개인 멤버 변수에 저장합니다. 그러나 더 좋은 방법이 있는지 알고 싶습니다.
2. 값을 원래 값으로 다시 변경하면 이벤트 처리기가 트리거됩니다.
if를 처리하기 위해 조건을 넣었습니다. 나는 당신이이 동작을 수행하기 위해 모델 IEditableObject을 구현 제안
if (mNumericUpDownValue != mReactantNumericUpDown.Value)
{
bool change = !mIsModified;
if (mIsModified && ReportChangeWarning())
{
change = true;
}
if (change)
{
mReactantGroup = (int)mReactantNumericUpDown.Value;
ClearUserValues();
UpdateControls();
}
else
{
mReactantNumericUpDown.Value = mNumericUpDownValue;
}
}
당신의 Q1은 :이 같은 속성을 작성합니다 벌금. 컨트롤을 바인딩 할 때 또는 사용자가 변경된 값을 커밋 할 때마다 원래 값을 저장하십시오. Q2와 관련하여 가장 간단한 방법은 이전 값으로 재설정 할 때 이벤트 'ValueChanged'리스너 등록을 취소하고 값을 변경하고 이벤트 리스너를 다시 할당하는 것입니다. 'NumericUpDown'에 사용자 입력으로 인해 값이 변할 때만 발생하는 특수한 이벤트가 있으면 머리 꼭대기에서 나는 잘 모릅니다. –
감사합니다. 나는 우리가 사건 등록을 취소 할 수 있다는 것을 몰랐다. 내가 여기 오기 전에 내가 인터넷 검색을하고 있었어. –