자동 대화식을 사용할 때 .NET 대화 항목을 검증하는 방법은 무엇입니까?

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

  •  06-07-2019
  •  | 
  •  

문제

현재 C#에 드롭 다운이있는 사용자 정의 OK 취소 대화 상자를 설정했습니다. OK 및 취소 버튼은 DialOgresult 속성을 사용하므로 코드 뒤에 코드가 없습니다. 내가 지금해야 할 일은 드롭 다운을 검증하여 Dialogresult를 게시하기 전에 비워지지 않도록 확인하는 것입니다.

이게 가능해?

도움이 되었습니까?

해결책

에서 여기

마감 필드를 두 번 클릭하고 다음과 같이 구현하십시오.

private void Second_Closing(object sender, 
        System.ComponentModel.CancelEventArgs e)
{
    // When the user attempts to close the form, don't close it...
    e.Cancel = (dropdown.selecteditemindex >= 0);
}

다른 팁

Combobox가 유효한 값으로 변경 될 때까지 확인 버튼을 비활성화하십시오.

무언가를 확인하고 싶다면, 당신은 항상 디자이너 뒤에 코드가 필요합니다. 경우 양식에서 "마감"이벤트를 사용하여 필요한 것을 확인하고 원하는 경우 "e.cancel = true;"를 설정할 수 있습니다. - 양식이 닫히지 않습니다.

내가 이것을 위해 한 일은 OK 버튼에 DialOgresult를 설정하지 않고 버튼 뒤에 코드를 넣는 것입니다.

private void OkButton_Clicked(object sender, EventArgs e)
{
    this.DialogResult = ValueComboBox.SelectedIndex >= 0
        ? DialogResult.Ok
        : DialogResult.None;
}

대화 상자의 OK 및 취소 버튼 기능을 계속 사용한 다음이 코드를 클릭 한 핸들러에 확인 버튼에 넣을 수 있습니다.

private void OkButton_Clicked(object sender, EventArgs e)
{
    if (!IsValid()) {
        this.DialogResult = System.Windows.Forms.DialogResult.None;
    }
}

위의 코드에서 IsValid() 대화 상자의 입력 필드를 검증하는 방법으로 구현 해야하는 메소드입니다.

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