C 執行緒無法開啟視窗的原因

2021-04-17 08:27:48 字數 1097 閱讀 5015

在 c# 裡面, 主視窗擁有主線程, 主線程產生子執行緒監控 socket 埠, 子執行緒一收到資料流就會給主線程傳送乙個事件, 建立乙個視窗. 現在的情況是子執行緒能夠收到資料流, 主視窗能夠收到子執行緒傳送過來的事件, 能夠建立乙個視窗. 這個視窗有問題: 視窗狀態像死掉程式的視窗一樣, 反白的.

揭曉最終解決答案, 事件是乙個同步處理過程, 就是說雖然子執行緒觸發主視窗事件, 可是執行的執行緒仍然是子執行緒, 建立乙個視窗 from frm1 = new form(); form.show(); 能夠執行, 可是無法收到 windows print() 事件, 所以視窗建立沒有問題, 就是沒有畫出視窗上面的東東, 所以視窗像死掉的視窗一樣, 反白的. 找到

從問題出現到問題搞定, 花費十個小時, 太辛苦了.

附: 非同步委派程式設計範例

下列程式**示範 .net 非同步程式設計的用法,使用簡單類別將一些數字因子分解。

[c#]

using system;

using system.threading;

using system.runtime.remoting;

using system.runtime.remoting.messaging;

// create an asynchronous delegate.

public delegate bool factorizingasyncdelegate (

int factorizablenum,

ref int primefactor1,

ref int primefactor2);

// create a class that factorizers the number.

public class primefactorizer

{ public bool factorize(

int factorizablenum,

ref int primefactor1,

ref int primefactor2)

{ primefactor1 = 1;

primefactor2 = factorizablenum;

for (int i=2;i

c 程式無法進入斷點的原因

今天除錯程式的時候出現了乙個煩人的問題,呼叫的dll 現問題,但是打斷點一直無法進入斷點,這問題整了一會還好發現了問題的原因,居然是因為我dll工程生成的導入庫lib的路徑錯了,程式呼叫的時候 是用的以前的導入庫lib,dll是最新的,最後把新生成的導入庫lib更新了一下,可以除錯了。這種問題很容易...

無法開啟多維資料集原因二(許可權不足)

最近開發乙個與多維資料集有關的web專案,其中有一部分與多維資料查詢有關,一部分與資料庫查詢有關,但是在vs 2005 中生成 以後,然後放到internet 資訊伺服器中,與多維資料集查詢的老是提示 blog中已經說到可能是引用不到位引起的,但是後來引用也新增上了,還是出現這種問題,於是做了一下測...

使用C 開啟新視窗關閉舊視窗的方法

最近在練習製作一套會員積分管理系統,順便研究了一下開啟新視窗後關閉舊視窗的方法,在網上查閱了很多資料,又結合自己的試驗總結如下,如果有什麼紕漏,還請大家多多指正。1 網上流傳最廣的應該是隱藏法了,原理就是把舊視窗隱藏掉,再開啟新視窗。具體的 如下 在舊視窗中的合適位置寫這些 新建乙個newform視...