【发布时间】:2014-02-05 06:34:30
【问题描述】:
我正在创建一个 Windows 窗体应用程序,它对一条数据执行许多类似的操作。所有这些操作几乎相同,所以我想创建一个单独的方法,
- 将用户界面设为只读
- 设置诸如“Executing operation1...”之类的消息
- 异步执行操作,因此用户界面保持响应
- 将消息设置为“Operation1 已完成”。
- 将接口只读设置为 false。
我想像这样调用这个单一方法
ExecuteOperation([method to execute], "Executing operation1")
我确信这很简单,但我在委托和任务之间迷失了方向,所以请告诉我如何编写一个能够运行选定方法的方法,最好使用多个参数以及如何调用此方法。
注意:
我的意思是禁用界面
MainMenu.Enabled = false;
txtData.ReadOnly = true;
【问题讨论】:
-
ExecuteOperation(Action act, string msg) -
将 UI 设为只读是什么意思?禁用
form.Enabled = false之类的所有内容? -
我需要一个接受多个参数的方法。动作不接受任何参数...
-
Action
怎么样? msdn.microsoft.com/en-us/library/018hxwa8(v=vs.110).aspx(有最多需要 16 个参数的重载——如果你真的想这样做的话!)
标签: c# .net winforms asynchronous async-await