本人的專案,也是新手。專案已經做完了,.net framework的winform的專案。
在主界面(form1)上有一個richtextbox用于做運行監控,輸出運行時候的各種資料。
本人用.cs檔案封裝了幾個類. 用于做不同的操作,想把這些類運行程序中的資料(比如I/O讀寫失敗),也上報到form1的richtextbox中,請問如何實作呢?目前是用messagebox實作的。
非常感謝。
uj5u.com熱心網友回復:
進行監控狀態輸出,應該由它所在的模塊統一進行管理。如果你非得在自己封裝的類里面直接呼叫控制元件,可以使用傳遞引數的方式給方法使用。
另外:
應該注意你自己模塊的所在執行緒。
uj5u.com熱心網友回復:
首先將主界面(form1)物件實體作為引數傳入封裝的類中,然后將RichTextBox的訪問性改為public,用該就可以了。uj5u.com熱心網友回復:
共用一個物件寫入資料,主表單訂閱事件就可以了
public class RunLog
{
public static event Action<string> MessageEvent;
public static void WriteLine(string text)
{
if(MessageEvent ! = null)
{
MessageEvent(text);
}
}
}
uj5u.com熱心網友回復:
這類問題比較好的解決方法是:1、設計一個專門處理訊息的中間類,用于接收、存盤、轉發,并公開相應的事件
2、所有產生訊息的組件,向這個中間類發送訊息
3、所有要提取訊息的組件,向這個中間組件注冊相應的委托,用于接收訊息通知
依賴關系為:
產生訊息的組件 -> 中間件
提取訊息的組件 -> 中間件
產生訊息的組件與提取訊息的組件之間沒有依賴。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/8449.html
標籤:C#
