I have a problem here ;it's a filewatcher programm:
you enter a path in textbox,then go to that path and form example create or delete a folder then I want to log that
event
namespace filewatcherWFA
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
FileSystemWatcher fsw;
public void WriteLog(string s)
{
string LogFilePath = Directory.GetParent(Application.ExecutablePath).ToString() + @"\Log.txt";
Weather Text is Appnded or Not
StreamWriter sw = new StreamWriter(LogFilePath, true);
sw.WriteLine(s);
sw.Close();
textBox2.Text = s+"\t";
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string path=textBox1.Text;
fsw = new FileSystemWatcher(path);
label1.Visible = true;
label1.Text = "path entered !";
fsw.EnableRaisingEvents = true;
fsw.IncludeSubdirectories = true;
fsw.Deleted += new FileSystemEventHandler(fsw_Deleted);
fsw.Created += new FileSystemEventHandler(fsw_Created);
}
void fsw_Created(object sender, FileSystemEventArgs e)
{
WriteLog("created File :" + e.FullPath);
}
void fsw_Deleted(object sender, FileSystemEventArgs e)
{
WriteLog("Deleted File :" + e.FullPath);
}
}
}
but when you are about to delete or create a folder it says::
<<Cross-thread operation not valid: Control 'textBox' accessed from a thread other than the thread it was created
on.>>
how can I fix that error?