我有一个自定义对话框winform.在它上面我有一个标签,文本框和2个按钮(确定和取消).它还声明并定义了用于传递不同参数列表的重载执行方法.
Dialog Winform的调用方式如下:
var theDialog := new InputMsgBox; if theInputB.Execute('Awesome StackOverflow','Enter Text?',s,var s) = DialogResult.OK then begin Invalidate; SetText(s); end;
Dialog Winform执行定义如下:
method InputMsgBox.Execute(Title,theMessage,defaultanswer:string;var thevalue:string): DialogResult; begin result := DialogResult.Cancel; Requesttext.Text:=themessage; Requesttext.Enabled:=true; Requesttext.Visible:=true; InputTextBox.Text:=defaultanswer; InputTextBox.Enabled:=true; InputTextBox.Visible:=true; CancelBtn.Enabled:=true; CancelBtn.Visible:=true; Okbtn.Enabled:=true; Okbtn.Visible:=true; self.ShowDialog; Result := self.DialogResult; thevalue:=InputTextBox.Text; end;
当execute方法返回给调用者时,即使单击OKBtn,它也总是返回DialogResult.Cancel.
按钮的对话框相应地设置.
我在Dialog winform上设置了AcceptButton和CancelButton.
我无法弄清楚为什么showdialog方法总是返回DialogResult.Cancel.
更新完成一些测试后,我发现通过调用showdialog = DialogResult.Ok显示我的其他自定义对话框窗口工作正常.所以,我检查了它们两个以查看它们的属性设置是否存在一些差异,并且绝对没有区别.我不明白.
提前致谢,