이 모달 대화 상자에서 작업을 위해 버튼을 두 번 눌러야하는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1808336

  •  05-07-2019
  •  | 
  •  

문제

이 C# 코드가 있습니다.

public partial class Continue : Form
{
    public Continue(string colourName)
    {
        InitializeComponent();
        lblMessage.Text = String.Format("Do you wish to change the colour to {0}", colourName);
    }

    private void btnConfirm_Click(object sender, EventArgs e)
    {
        btnConfirm.DialogResult = DialogResult.OK;
    }

    private void btnCancel_Click(object sender, EventArgs e)
    {
        btnCancel.DialogResult = DialogResult.Cancel;
    }
}

잘 작동하지만 대화 상자가 팝업되면 버튼을 두 번 클릭하여 사용해야합니다. 누구든지 그 이유가 있습니까?

도움이 되었습니까?

해결책

설정해야합니다 this.DialogResult 보다는 btnxxx.DialogResult 클릭 핸들러에서 또는 핸들러 앞에 btnxxx.dialogresult를 설정하십시오.

클릭 메소드가 실행되기 전에 양식의 Dialogresult가 버튼으로 설정되어 있으므로 이벤트가 처음 실행되면 Form의 Dialogresult가 None으로 남아 있지만 두 번째는 (현재) 버튼의 Dialogresult로 설정됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top