-1
問題:我想將相同的消息寫入正在寫入日誌文件的文本框控件。將代理添加到Windows窗體
我有一個窗體窗體(Form1.cs),它調用一個靜態方法的橫切類。在每個橫切方法中,他們調用WriteLogEntry來更新他們正在做什麼的日誌文件。我想向Form1發送一個事件,這樣我就可以將相同的日誌消息寫入窗體上的控件。
我已經看過一些事件,但沒有足夠理解這些例子,並沒有找到足夠簡單的例子來做我想做的事情。有人能告訴我一個如何添加一個事件到我的代碼來完成這個的一個簡單的例子嗎?
namespace MainForm
{
public delegate void MyDel(string str);
public partial class Form1 : Form
{
public event MyDel MyEvent;
public Form1()
{
InitializeComponent();
MyEvent += new MyDel(WriteSomething);
Crosscutting.DoSomething();
}
public void WriteSomething(string message)
{
Console.WriteLine(message);
}
}
//Crosscutting.cs
public class Crosscutting
{
private static void WriteLogEntry(string message)
{
// Code to write message to log file.
}
public static void DoSomething()
{
WriteSomething obj = new WriteSomething();
// Code to do something.
WriteLogEntry("I'm doing something");
}
}
}
有很多如何編寫的例子'活動以及Delegates'這不是論壇會問如何做的東西,你可以很容易地用Google搜索,發現的例子1000的 – MethodMan
你至少應該嘗試將事件添加到您的代碼中。當您收到錯誤或其他某種意想不到的結果時,請回復並尋求有關問題的幫助。您目前的問題沒有任何問題需要解決 –
https://www.google.com/search?q=c%23+event+log+entry&oq=C%23+Eventlog+en&aqs=chrome.5.69i57j69i58j0l4.9567j0J7&sourceid = chrome&ie = UTF-8 – MethodMan