남자! 저는 응용 프로그램 작업 양식 (frmMain)과 설정 양식 (frmSettings)의 두 가지 양식이 있습니다. frmSettings에는 저장 및 취소라는 두 개의 버튼이 있습니다. frmMain 수에서 나는 frmSettings을 보여주기 위해 다음과 같은 방법을 사용 :WinForms 응용 프로그램에서 양식 간의 상호 작용, C#
private void btnSettings_Click(object sender, EventArgs e)
{
frmSettings = new SettingsForm();
frmSettings.ShowDialog();
// ...
}
문제는 frmMain 수에 눌러 진 버튼, 검색하는 방법, 난 몰라 - 저장 또는 취소 할 수 있습니다. 프로그램의 추가적인 논리는이 사실에 달려 있습니다. 다음과 같은 것이 필요합니다.
private void btnSettings_Click(object sender, EventArgs e)
{
frmSettings = new SettingsForm();
frmSettings.ShowDialog();
if(/* frmSettings.SaveButton.WasClicked == true */)
{
InitializeServices();
}
// ...
}
양식 사이에 이러한 종류의 상호 작용을 구현하는 방법을 알려주십시오. 버튼 상태를 저장하기 위해 전역 변수를 사용하지 않아도됩니다. 미리 감사드립니다.
이public enum ExitMethod
{
Other, //this should be first, as a default value
Save,
Cancel,
Error
}
그런 다음 해당 유형의 SettingsForm
에 속성을합니다 : 가능한 값의리스트와
을 다음 대화 결과를 설정 어디에서이 열거 형을 선언해야하며 어떤 범위로 선언해야합니까? 기본 폼에서 ExitMethod 값을 어떻게 읽을 수 있습니까? –
@SergeyShafiev 네임 스페이스의 모든 클래스 외부에서 공용 열거 형으로 만들면됩니다. 전 세계적으로 접근 할 수없는 이유가 없습니다. 당신이 정말로 원한다면 클래스의 정의 안에 넣을 수도 있지만, 그럴 필요는 없습니다. – Servy