2011-07-27 4 views
0

으로 입력하십시오. 저는 Windows 양식 응용 프로그램이있어서 사용자로부터 입력을 받아야합니다. 다른 양식을 사용하기로 결정했습니다. 내 메인 윈도우의 코드는 다음과 같습니다.다른 Windows 양식에서 C#

inputPage p = new inputPage(); 
p.Visible = true; 
VBand = p.getValueDouble(); 

내 두 번째 형식 (사용자가 입력하는 곳)은 간단합니다. 여기에는 레이블, 텍스트 상자 및 확인 버튼 만 포함됩니다. 제 문제는, 사용자가 값을 입력하고 확인 버튼을 눌렀을 때 getValueDouble 함수 (위 코드의 세 번째 줄)를 호출하고 싶습니다. 그러면 어떻게해야합니까? 감사합니다.

답변

1

아마도 양식의 ShowDialog() 메서드를 사용하고 싶을 것입니다. 이렇게하면 현재 함수가 사용자가 단추를 클릭하여 양식을 닫을 때까지 대기하게됩니다.

inputPage p = new inputPage(); 

DialogResult result = p.ShowDialog(); 

if(result == DialogResult.OK) 
{ 
    VBand = p.getValueDouble(); 
} 

형태의 OK 버튼의 DialogResult 재산권 DialogResult.OK로 설정해야한다.

inputPage p = new inputPage(); 
if(p.ShowDialog() == DialogResult.Ok) 
{ 
    VBand = p.getValueDouble(); 
} 
+0

내가 DialogResult.Cancel 대신 좋아 – dnur

+0

@dnur를 작성하는 경우 그것이 사실 보인다 : 당신의 두번째 형태는, "확인"으로 "OK"버튼을 설정

if (... ?? ...)은에 다시 작성할 수 있습니다 조치 및 "취소"단추가 "취소"조치가됩니다. – Tipx

1

는 형태입니다.

당신은 무엇을해야 다음 다음과 같이

InputPage p = new InputPage(); 
if (p.ShowDialog(this) == DialogResult.OK) 
{ 
    vBand = p.GetValueDouble(); 
} 

WPF를 사용하여,이 같습니다

WPF에서
InputPage p = new InputPage(); 
p.Owner = this; 
if (p.ShowDialog() ?? false) 
{ 
    .... 
} 

에서, ShowDialog 방법이 될 수 중 하나 bool? 값을 반환 null 또는 false (사용자 선택없이 대화 상자가 취소되거나 닫히는 경우) 또는 사용자가 확인을 누르면 true을 누릅니다.

bool? ret = p.ShowDialog(); 
if (ret.HasValue() && ret) 
{ 
} 
+0

오류가 발생하지 않지만 프로그램에서 확인 버튼을 눌렀 음을 감지하지 못합니다. – dnur

+1

inputPage 양식에서 저장 버튼을 양식의 * AcceptButton *으로 설정하십시오. –

0

명명 규칙을 봐주세요 : 클래스 이름은 대문자뿐만 아니라 방법 이름으로 시작해야합니다 귀하의 inputPage 가정

관련 문제