如何使用C#在Windows窗体对话框中实现应用按钮操作?如何在C#WinForms中实现应用按钮功能?
1
A
回答
2
Windows窗体不会让它变得特别容易,除非它是对话本身照顾副作用。这并不总是常见的,它通常以调用ShowDialog()的形式完成,基于返回值。
没什么大不了的,虽然,自己的事件添加到窗体:
public event EventHandler ApplyChanges;
protected virtual void OnApplyChanges(EventArgs e) {
var handler = ApplyChanges;
if (handler != null) handler(this, e);
}
private void OKButton_Click(object sender, EventArgs e) {
OnApplyChanges(EventArgs.Empty);
this.DialogResult = DialogResult.OK;
}
private void ApplyButton_Click(object sender, EventArgs e) {
OnApplyChanges(EventArgs.Empty);
}
,然后在主窗体的代码看起来是这样的:
private void ShowOptionsButton_Click(object sender, EventArgs e) {
using (var dlg = new Form2()) {
dlg.ApplyChanges += new EventHandler(dlg_ApplyChanges);
dlg.ShowDialog(this);
}
}
void dlg_ApplyChanges(object sender, EventArgs e) {
var dlg = (Form2)sender;
// etc..
}
+0
+1关于它的好处通常不是对话本身,它负责其副作用。如果你的情况不像我想的那么简单,这可能是更优雅的解决方案。 – 2010-12-15 16:22:46
1
您可以将表单的AcceptButton-Property设置为放置在表单上的任何按钮。当在表单上按下“Enter”键时,会引发AcceptButton的Click事件。
也许这就是你要找的。
1
在Windows中,“应用”按钮通常设置用户在对话框中指定的任何属性,而不用关闭对话框。所以它与“OK”按钮基本相同,除非没有关闭对话框的命令。
你可以利用这一事实,并整合所有的财产设定的代码在应用按钮的事件处理程序,那么首先调用只要单击OK按钮,但你关闭窗体之前:
public void ApplyButtonClicked(object sender, EventArgs e)
{
//Set any properties that were changed in the dialog box here
//...
}
public void OKButtonClicked(object sender, EventArgs e)
{
//"Click" the Apply button, to apply any properties that were changed
ApplyButton.PerformClick();
//Close the dialog
this.DialogResult = DialogResult.OK;
}
相关问题
- 1. 如何实现Facebook的“按钮”功能?
- 2. 如何在angularjs中实现编辑功能的取消按钮
- 3. 在MessageBox问题上实现重试按钮功能(C#)
- 4. 如何将功能应用于按钮
- 5. 如何在iOS iPad应用中实现费率应用功能
- 6. C#的WinForms如何使用按钮
- 7. 为什么在ember.js中没有实现单选按钮功能?
- 8. 如何在Swiftmailer中按钮功能
- 9. VoiceOver:如何实现按钮的功能与计算器中的按键相同
- 10. 如何在Cocoa中实现按钮栏
- 11. 的WinForms C#按钮能见度
- 12. 如何在iOS应用中实现IVR呼叫功能?
- 13. 如何在asp.net应用程序中实现编辑功能?
- 14. 如何在Android的绘画应用中实现撤消功能?
- 15. 如何在ASP.NET MVC应用程序中实现搜索功能
- 16. 如何在Spring Web应用程序中实现共享功能?
- 17. 如何在PHP中实现此功能?
- 18. 如何在Flex中实现AJAX功能
- 19. 如何在clisp中实现“doc”功能?
- 20. 功能如何do_raw_spin_lock在Linux中实现
- 21. 在C++ builder的按键中实现关闭功能
- 22. 如何在c#中实现分步按钮?
- 23. 使用$ state实现后退按钮功能
- 24. 如何实现diff功能?
- 25. 如何实现MenuStrip功能?
- 26. 如何在按钮点击应用功能的ListView adapater
- 27. 如何在iPhone/iPad/iOS应用程序上实现AirPrint按钮?
- 28. 如何在winforms中实现groupbox的'wordwrap'?
- 29. 如何在Objective-C(iOS5)中实现插件功能
- 30. 如何在PHP中实现c的#def功能
你能描述你有什么至今? – Ani 2010-12-15 09:51:36