在 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視...