CODE:使用匿名方法,让worker线程中更新UI控件的代码更优雅

本文介绍了一种在C#中进行耗时操作时更新UI的方法,并展示了如何利用匿名方法简化代码。

刚才看到这个POST  中介绍几种在进行耗时的操作时如何更新UI的方法,

如果使用c#的匿名方法来,我们可以让代码更简洁些。

代码如下:

image

运行效果:

分析下面的报错 !ENTRY org.eclipse.ui.console 4 2 2025-08-27 18:44:27.458 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.console". !STACK 0 org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4397) at org.eclipse.swt.SWT.error(SWT.java:4312) at org.eclipse.swt.SWT.error(SWT.java:4283) at org.eclipse.swt.widgets.Widget.error(Widget.java:472) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:363) at org.eclipse.swt.widgets.Control.redraw(Control.java:2347) at org.eclipse.swt.custom.StyledText.redraw(StyledText.java:7354) at org.eclipse.ui.console.TextConsolePage.propertyChange(TextConsolePage.java:252) at org.eclipse.ui.console.AbstractConsole$PropertyNotifier.run(AbstractConsole.java:104) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.console.AbstractConsole$PropertyNotifier.notify(AbstractConsole.java:120) at org.eclipse.ui.console.AbstractConsole.firePropertyChange(AbstractConsole.java:246) at org.eclipse.ui.console.IOConsoleOutputStream.setColor(IOConsoleOutputStream.java:140) at tibon.TibrvSend.<init>(TibrvSend.java:318) at tibon.TibrvSend.<init>(TibrvSend.java:326) at tibon.TibrvSend.send(TibrvSend.java:265) at tibon.TibrvSend.send(TibrvSend.java:281) at tibon.actions.SendDelegate$Sender.run(SendDelegate.java:139) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) !ENTRY org.eclipse.ui.console 4 120 2025-08-27 18:44:27.459 !MESSAGE Exception occurred during console property change notification. !STACK 0 org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4397) at org.eclipse.swt.SWT.error(SWT.java:4312) at org.eclipse.swt.SWT.error(SWT.java:4283) at org.eclipse.swt.widgets.Widget.error(Widget.java:472) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:363) at org.eclipse.swt.widgets.Control.redraw(Control.java:2347) at org.eclipse.swt.custom.StyledText.redraw(StyledText.java:7354) at org.eclipse.ui.console.TextConsolePage.propertyChange(TextConsolePage.java:252) at org.eclipse.ui.console.AbstractConsole$PropertyNotifier.run(AbstractConsole.java:104) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.console.AbstractConsole$PropertyNotifier.notify(AbstractConsole.java:120) at org.eclipse.ui.console.AbstractConsole.firePropertyChange(AbstractConsole.java:246) at org.eclipse.ui.console.IOConsoleOutputStream.setColor(IOConsoleOutputStream.java:140) at tibon.TibrvSend.<init>(TibrvSend.java:318) at tibon.TibrvSend.<init>(TibrvSend.java:326) at tibon.TibrvSend.send(TibrvSend.java:265) at tibon.TibrvSend.send(TibrvSend.java:281) at tibon.actions.SendDelegate$Sender.run(SendDelegate.java:139) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
08-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值