아래와 같이 반환 값을 프로그래밍 방식으로 설정하는 양식에 단추를 만들었습니다. 첫째, 이벤트 처리기 psudocode 다음에 대화 결과가 반환됩니다.대화 상자 결과 반환 값 설정
사용자 인터페이스에서 단추의 반환 동작, 즉 대화 결과 동작을 설정할 수있는 기본 속성이 있습니다. 전체 코드에서이 버튼의 반환이 설정되거나 수정 된 곳을 볼 수 없습니다.
코드 실행 중에 buttonSaveSet_Click 이벤트 처리기를 처음 사용할 때 디버그 모드로 테스트하면 "Set"단추를 클릭 했음에도 불구하고 반환 된 대화 상자 결과 값이 "취소"됩니다. 그러나 두 번째로 동일한 버튼을 눌러 함수를 실행하면 대화 상자 결과가 "예"로 반환됩니다.
대화 상자 결과가 수정되는 다른 곳이 있는데 잘못된 값으로 설정하려고합니다.
psudo code
private void buttonSaveSet_Click(object sender , EventArgs e)
{
setChars = new setChars();
//set the dr to yes.
buttonSaveSet.DialogResult = DialogResult.Yes;
// set the charCount
// set the rowCount
if (conditional statement is true)
{
//return values;
}
else
{
//return nothing;
}
Close();
}
반환 위치 : 당신이 decribing하는 동작을 바탕으로
try
{
DialogResult dResult = setValPopup.ShowDialog();
SetChars sc = setValPopup.setChars;
int max;
if (dResult == DialogResult.Yes)
{
if (sc.set == true)
{
//do other work
}
}
}
DialogResult 버튼은 onClick이 실행되기 전에 form.DialogResult에 복사됩니다. 양식을 닫기 전에 이벤트에서 변경하면 늦어집니다. button.DialogResult가 아닌 form.DialogResult를 설정하십시오. – Ralf