异步更新ui时出现的问题

liujiahaol12345 2016-02-17 03:42:49
一个比较简单的例子,点开始变量累加,显示在文本框,取消后停止,但是当我再点开始提示不能对已完成的任务调用start,代码如下
...全文
121 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qbilbo 2016-02-17
  • 打赏
  • 举报
回复
cts = new CancellationTokenSource(); Task t = new Task(() => Add(cts.Token), cts.Token); t.Start();
liujiahaol12345 2016-02-17
  • 打赏
  • 举报
回复
public partial class Form1 : Form
{
int num = 0;
CancellationTokenSource cts = new CancellationTokenSource();

public Form1()
{
InitializeComponent();
}

private void btnStart_Click(object sender, EventArgs e)
{
Task t = new Task(() => Add(cts.Token), cts.Token);

t.Start();
}

public void Add(CancellationToken cts)
{
while (!cts.IsCancellationRequested)
{
num++;
if (this.InvokeRequired)
{
txt1.Invoke(new Action(() => txt1.Text = num.ToString()));
}
else
txt1.Text = num.ToString();
}
}

private void btnStop_Click(object sender, EventArgs e)
{
cts.Cancel();
}
}
jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签 1.3.6更新 Bug treegrid: getChecked方法不能返回正确的行. fixed. tree: 异步树,在onlyLeafCheck:true复选框不显示正确. fixed. Improvement treegrid:继承datagrid组件所有的selecting和checking方法。 linkbutton:图标对齐方式,支持值:'top','bottom','left','right'。 linkbutton:添加"size"属性,支持值:'small','large'。 linkbutton:添加的onClick事件。 menubutton:添加"menuAlign"属性,允许用户设置顶级菜单对齐。 combo:添加"panelAlign"属性,支持值:'left','right'。 calendar:"formatter"、"styler"和"validator"选项可用于自定义日历日期。 calendar:添加的onChange事件。 panel:添加"method","queryParams"和"loader"属性。 panel:添加"onLoadError"事件。 datagrid:添加"onBeginEdit"事件。 datagrid:添加"onEndEdit"事件。 datagrid:添加"sort"方法和"onBeforeSortColumn"事件。 datagrid:"combogrid"编辑器集成到datagrid。 datagrid:添加"ctrlSelect"属性,允许使用ctrl+click 多选 slider:添加"converter"选项,允许用户决定如何将一个值转换为滑块的位置或滑块位置值。 searchbox:添加"disabled"属性。 searchbox:添加"disabled","enable","clear","reset"方法。 spinner:添加"readonly"属性、"readonly"方法和"onChange事件。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧