我有一个带有取消按钮的DialogBox,调用如下:DimdlgSizSelectionAsNewdlgTyreSizeSelection(objCarWebVehicle.Tyres,objCarWebVehicle)If(dlgSizSelection.ShowDialog)=Windows.Forms.DialogResult.OKThenselectedTyre=CType(dlgSizSelection.lstTyreOptions.SelectedItem,CarWebVehicleCOM.TyreData)dlgSizSelection.Close()ElseIf(dlg
我在Windows窗体申请表的关闭事件中使用以下代码:privatevoidMain_FormClosing(objectsender,FormClosingEventArgse){DialogResultdr=MessageBox.Show("Areyousureyouwanttoquit?","LeavingApp",MessageBoxButtons.YesNo,MessageBoxIcon.Question);if(dr==DialogResult.No){return;}elseApplication.Exit();}但问题是,只要用户单击"is",应用程序就会结束,但当用户
C#/.NET3.5/WinForms我有一个可以打开模态对话框的窗体,该窗体可以打开另一个模态对话框窗体。内部对话框窗体有OK和Cancel按钮,它的AcceptButton和CancelButton分别设置为它们。当我在内部对话框中按下Enter键或单击“确定”时,外部对话框也会关闭。我看不到我在做什么-这是预期的行为吗?我可以提供代码,但我不想把它搞得一团糟。 最佳答案 发生这种情况是因为ShowDialog调用也修改了其所有者的状态。为防止这种情况发生,您需要在ShowDialog调用之后将第一个模态对话框的DialogRe
privatevoidbutton2_Click(objectsender,EventArgse){ChangeLinkcl=newChangeLink();//ShowtestDialogasamodaldialoganddetermineifDialogResult=OK.if(cl.ShowDialog()==DialogResult.OK){//ReadthecontentsoftestDialog'sTextBox.//cl.AcceptButton.DialogResult=DialogResult.OK;this.label4.Text=cl.textBox1Text;}
编辑:这个方法实际上很有效,我问过它然后找到了解决方案。我在重载的ShowDialog()方法中添加了正确的调用(它不完全是重载,甚至不是覆盖,但它的工作原理是一样的。我的新问题是底部的问题。我有一个表单,您可以在其中单击三个按钮之一。我为返回的结果定义了一个枚举。我要调用电话:MyFormResultsres=MyForm.ShowDialog();我可以用这段代码添加一个新的ShowDialog方法:publicnewMyFormResultsShowDialog(){//Showmodaldialogbase.ShowDialog();//ThisworksandsomehowI
我有一个简单的表单,只有一个文本框,外加确定和取消按钮。表单的AcceptButton和CancelButton设置正确,OK和Cancel按钮的DialogResult设置为“OK”和“Cancel”。我想向TextBox添加验证,这将防止用户在验证失败时确定表单,但也将允许他们像往常一样取消。CausesValidation属性在所有控件上默认为True,但我已将取消按钮上的此属性更改为False。果然,单击“确定”或按Enter键将运行我连接到TextBox的验证事件。按取消按钮绕过验证,这是完美的。但是,按Escape取消表单与按“取消”按钮不执行相同的操作-它会引发验证事件并
我有一个对话框,我想在单击OK按钮时阻止它关闭,但它返回了,即使AcceptButton属性设置为none而不是我的OK按钮。阻止它关闭的最佳方法是什么? 最佳答案 事实上,您正在更改错误的属性。你当然想要AcceptButton成为确定按钮。此属性确定哪个是Windows术语中的默认按钮。这是当您按下键盘上的ENTER时按下的按钮。通过更改AcceptButton,您只是打破了对话框的键盘界面。您不会以任何方式影响按下按钮时发生的事情。您需要做的是设置DialogResult将按钮的属性设置为DialogResult.None,因
我目前正在使用WPF在C#中开发应用程序,我一直只使用WinForms。通常,如果我想问用户一个问题而不是自己进行对话,我会使用DialogResultresult=MessageBox.Show("MyMessageQuestion","MyTitle",MessageBoxButtons.YesNo,MessageBoxIcon.Question);第一次使用WPF窗体,DialogResult好像没有。我用什么来获得相同的效果? 最佳答案 以下是您在WPF中执行相同操作的方法:MessageBoxResultresult=Me
我目前正在使用WPF在C#中开发应用程序,我一直只使用WinForms。通常,如果我想问用户一个问题而不是自己进行对话,我会使用DialogResultresult=MessageBox.Show("MyMessageQuestion","MyTitle",MessageBoxButtons.YesNo,MessageBoxIcon.Question);第一次使用WPF窗体,DialogResult好像没有。我用什么来获得相同的效果? 最佳答案 以下是您在WPF中执行相同操作的方法:MessageBoxResultresult=Me
嗨我有一个包含多个文本框和两个按钮“取消”和“确定”的表单。这些按钮被指定为接受和取消表单中的按钮属性。问题是我必须验证在所有文本框中输入的文本。如果用户单击确定按钮(即acceptButton),我想这样做。所以我写了一个负责验证的函数,如果用户单击“确定”按钮,我会触发这个函数。问题是即使验证函数返回false,我也无法阻止表单关闭。这是因为我将acceptbutto属性分配给了我的Ok按钮。如果验证失败而不删除acceptbutton属性,有什么方法可以防止表单关闭?? 最佳答案 这是我们使用的有效解决方案(并且它是从其他答案