2010-05-27 7 views
1

양식이 값을 반환하는 방법이 있습니까? 뭔가 ...onclosing 양식 반환 값

sub main() 

    Dim task as new TaskForm() 
    dim res as integer=0 
    res = task.opendialog() 

end sub 

답변

1

당신이 ShowDialog를 사용하는 경우 폼의 DialogResult prope을 설정할 수 있습니다 값으로 rty. 이 양식에서는 임의의 결과를 반환 할 수 없으며 DialogResult enumeration 값만 반환한다는 점에 유의하십시오.

그렇지 않으면 양식의 Tag 속성을 설정하고 양식을 닫은 후에도 참조를 삭제하기 전에 수동으로 검색해야합니다.

1

반환 할 항목에 따라 약간 다릅니다.

DialogResult result = theForm.ShowDialog(); 
if (result == DialogResult.OK) 
{ 
    // OK was clicked 
} 

: 당신이 대화 상자를 표시하고 마감에 사용 된 그 어떤 버튼을 파악하고 싶다면 당신은 DialogResult 값을 반환 ShowDialog 방법을 사용하여 양식을 표시 할 수 있습니다 (OK, ..., 취소) 다른 값을 반환하고 싶다면 폼의 속성을 통해이를 노출 시키거나 폼에 인스턴스를 만들고 필요한 입력을 수집하고 데이터를 반환하는 정적 메서드를 폼에 제공하는 것이 가장 쉬운 방법입니다.

class NameInputForm : Form 
{ 
    // form initialization/construction left out for brevity, but let's assume 
    // it contains a TextBox control called UserNameTextBox and a button with 
    // its DialogResult property set to OK 

    public static string GetNameFromUser() 
    { 
     using (NameInputForm form = new NameInputForm()) 
     { 
      if (form.ShowDialog() == DialogResult.OK) 
      { 
       return form.UserNameTextBox.Text; 
      } 
     } 
     return ""; 
    } 
}