첫 번째 폼에는 Timer 컨트롤 (및 Button)이 있습니다.부모 폼에서 Timer를 중지하는 방법 (C#)
사용자가 Button을 클릭하면 모달 폼 버튼을 클릭 할 때 타이머를 멈추고 싶으면 새로운 버튼이있는 새로운 모달 창이 표시됩니다.
어떻게 할 수 있습니까?
첫 번째 폼에는 Timer 컨트롤 (및 Button)이 있습니다.부모 폼에서 Timer를 중지하는 방법 (C#)
사용자가 Button을 클릭하면 모달 폼 버튼을 클릭 할 때 타이머를 멈추고 싶으면 새로운 버튼이있는 새로운 모달 창이 표시됩니다.
어떻게 할 수 있습니까?
답변에 따라 질문에 대한 양식의 DialogResult를 설정하고 기본 대화 상자에서 결과를 확인할 수도 있습니다.
ConfirmationForm confirmationForm = new ConfirmationForm();
DialogResult dialogResult = confirmationForm.ShowDialog();
if (dialogResult == DialogResult.OK)
{
// Stop timer here
}
또는 표준 대화
DialogResult dialogResult = MessageBox.Show("Are you sure you want to stop the timer?", "Stop timer", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
// Stop timer here
}
편집 사용 confirmationForm.ShowDialog에 변경 confirmationForm.Show합니다.
먼저 양식의 타이머받을 수있는 2 양식에 속성을 추가 할 수 있습니다사용자가 누른 경우 bStopTimer
라는 2 형태로 Boolean
속성을 선언 "예", 당신은 자식 폼을 닫을 때 False
, childForm.bStopTimer
을 확인하고 따라 행동, True
다른 에 bStopTimer
설정 그것에.
모달 형식에서 공용 부울 속성을 선언하십시오. 부울 값이이 방법을 사용
While not MyVal = true
ModalForm.show
End While
참이 될 때까지 는 기본 폼에서 당신이 루프를 사용하여, 당신은 또한 시작하거나 주와 모달 폼에서 타이머를 중지 할 수 있습니다. 당신은 요점을 얻을 것이다 :
인사말!
:
frmModal frm = new frmModal(this.timer1);
frm.ShowDialog();
과에 : 당신이 모달 폼 당신이 타이머를 전달할 수 올라올 때 다음
private Timer timer;
public frmModal(Timer tmrref)
{
this.timer = tmrref;
InitializeComponent();
}
을 단추를 클릭하면 모달 폼이 단순히 타이머를 멈추게됩니다.
timer.Stop();
Winforms 또는 WPF? 일부 소스 코드는 질문을 이해하는 데 도움이됩니다 – alf