當前位置:首頁 » 密碼管理 » wpf跨線程訪問控制項

wpf跨線程訪問控制項

發布時間: 2022-06-03 16:41:31

1. 如何跨線程調用.NET Windows窗體控制項

(1)窗體及控制項
(2)窗體代碼Form1.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Threading;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
// 啟動線程
Thread t = new Thread(MyThread);
t.IsBackground = true;
t.Start();
}

void MyThread()
{
while (true)
{
// 在控制項label1上顯示日期和時間
UpdateLabel(DateTime.Now);
Thread.Sleep(1000);
}
}
// 1. 聲明一個委託
delegate void UpdateLableDelegate(DateTime dt);

private void UpdateLabel(DateTime dt)
{

if (label1.InvokeRequired)
{
// 跨線程更新label1處理
UpdateLableDelegate del =
new UpdateLableDelegate(UpdateLabel);
label1.Invoke(del, dt);
}
else
{
// 顯示日期和時間
label1.Text = dt.ToString("yyyy-MM-dd HH:mm:ss");
}
}
}
}

2. winform如何使用委託跨線程訪問控制項,寫了個採集軟體,想在線程裡面直接訪問控制項,哪位知道怎麼寫

窗口載入時:
Control. = false;//窗口元素允許線程操作

3. wpf中「調用線程無法訪問此對象,因為另一個線程擁有該對象。"

出現上面的異常是因為多個線程在同時訪問一個對象造成的,在網上查看了一些資料,說的是在C#2005後不再支持多線程直接訪問界面的控制項(界面創建線程與訪問線程不是同一個線程),但是可以可以使用delegate來解決。 相應的解決方法如下: WPF:Dis...

4. WPF線程怎麼搞

以啊,可以用信號量啦約束,另一個線程不能訪問,使一個對象被一個線程訪問的時候,但是這樣可能會改變你想要得到的結果

5. wpf中 我新開一個線程添加控制項到主窗體

wpf中使用Dispatcher類控制線程, 當非同步操作完成後, 可以調用
Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() => { //to do sth })); 返回UI線程

6. WPF中想在一個窗口中調用另一個窗口的控制項(DataGrid),怎麼實現

請問為什麼你需要這樣來做。
首先設計方面就不應該有這樣跨窗體直接UI線程上的操作。

A窗口可以修改共享內存中的數據,MVVM方式綁定的B窗口上的DG直接自己反映數據變更。

再,你這兩個窗口現在在同一線程中還可以用上面那位同學的做法。
但是如果在不同線程或者在不同機器的時候,
你這樣的設計,不是找死么。

7. Wpf中「由於其他線程擁有此對象,因此調用線程無法對其進行訪問」

bitmap資源之前被調用過,沒有釋放,所以再調用時無法訪問。

熱點內容
ios應用上傳 發布:2024-09-08 09:39:41 瀏覽:439
ios儲存密碼哪裡看 發布:2024-09-08 09:30:02 瀏覽:871
opensslcmake編譯 發布:2024-09-08 09:08:48 瀏覽:653
linux下ntp伺服器搭建 發布:2024-09-08 08:26:46 瀏覽:744
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:173
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:780
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:101
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:209
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995