silverlight中的多執行緒和計時器

2021-09-07 23:49:56 字數 3693 閱讀 8077

多執行緒

xaml**:

<

usercontrol

x:class

="sample.threadsample"

xmlns

=""xmlns:x

=""width

="350"

height

="180"

>

<

stackpanel

x:name

="layoutroot"

>

<

border

x:name

="border"

background

="aliceblue"

margin

="5"

borderbrush

="black"

borderthickness

="3"

cornerradius

="5"

>

border

>

<

stackpanel

orientation

="horizontal"

>

<

button

x:name

="btnstart"

width

="100"

height

="30"

content

="開始執行緒"

click

="btnstart_click"

margin

="10"

>

button

>

<

button

x:name

="btnjoin"

width

="100"

height

="30"

content

="執行緒延遲"

click

="btnjoin_click"

margin

="10"

>

button

>

stackpanel

>

stackpanel

>

usercontrol

>

後台**:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.net;

5using

system.windows;

6using

system.windows.controls;

7using

system.windows.documents;

8using

system.windows.input;

9using

system.windows.media;

10using

system.windows.media.animation;

11using

system.windows.shapes;

12using

system.threading;

1314

namespace

sample15;

32border.child

=tbk;

33//

建立乙個新的執行緒並執行靜態方法

34newthread

=new

thread(threadsample.settext);

35//

執行緒開始36}

3738

public

static

void

settext()

39);47i

--;48//

執行緒等待

49thread.sleep(

1000

);50}51

}5253private

void

btnstart_click(

object

sender, routedeventargs e)

5457

58private

void

btnjoin_click(

object

sender, routedeventargs e)

5962}63

}

dispatchertimer 是sl中很有用的乙個計時器物件。也是基礎sl 的ui執行緒

xaml**:

<

usercontrol

x:class

="sample.timer"

xmlns

=""xmlns:x

=""width

="400"

height

="200"

>

<

grid

x:name

="layoutroot"

background

="white"

>

<

rectangle

fill

="gold"

stroke

="black"

strokethickness

="3"

radiusx

="5"

radiusy

="5"

/>

<

textblock

x:name

="tbktimer"

width

="300"

height

="50"

fontsize

="30"

foreground

="red"

/>

grid

>

usercontrol

>

後台**:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.net;

using

system.windows;

using

system.windows.controls;

using

system.windows.documents;

using

system.windows.input;

using

system.windows.media;

using

system.windows.media.animation;

using

system.windows.shapes;

using

system.windows.threading;

namespace

sample

void

timer_tick(

object

sender, eventargs e)

}}

Windows Forms 中實現安全的多執行緒

前言 首席執行官任務操作 許多種類的應用程式都需要長時間操作,比如 執行乙個列印任務,請求乙個 web service 呼叫等。使用者在這種情況下一般會去轉移做其他事情來等待任務的完成,同時還希望隨時可以監控任務的執行進度。下面的 片斷示例了當長任務執行時使用者介面是如何被更新的。顯示進度條 voi...

ThreadPoolExecutor 多執行緒

from concurrent.futures import threadpoolexecutor,wait,all completed from queue import queue myqueue queue 佇列,用於儲存函式執行結果。多執行緒的問題之一 如何儲存函式執行的結果。def thr...

在 Silverlight 繪製線帽(箭頭)

最近要在 silverlight 的乙個專案中繪製帶有箭頭的線條,但是在 silverlight 中竟然沒有這樣現成的功能。於是去網上搜尋了一把,找到了兩種解決方法 使用這個庫挺方便的,效果也不錯。另一種是就自己實現乙個使用者控制項,也比較簡單 xaml 內容 usercontrol x class...