Фонообразователь с файловой системойC#

Место общения программистов C#
Ответить
Anonymous
 Фонообразователь с файловой системой

Сообщение Anonymous »

Я пытаюсь реализовать фоновый работник для мониторинга файловой системы Service.
Мой код делится как:
class.cs, который содержит все методы, переменные и файловую реализацию . И основная форма1, которая содержит данные формы и требует кнопок \ и т. Д. Когда я запускаю свою программу, все, что происходит, это изменения курсора (это уже ожидалось) - действие происходит в фоновом режиме (все делается), но в моем панели хода прогресса не отображается отчет. Я получил пример с веб -сайта и адаптировал его к моему коду - есть ли что -то неправильное, что я делаю? Я полагаю, что есть что -то связанное с тем фактом, что единственное, что я называю, это файловая сторона, но я ожидал, что это сообщит о прогрессе, основанном на действии, действующем «на фоне». < /P>
Любая помощь ценится. Спасибо
my form1 -код (FounalWorker part) и файловая система warewatcher следует:
namespace PPF_Converter_v10
{
public partial class Form1 : Form
{
private FileManipulation prg;
//private FileManipulation FileOp;

public Form1()
{
InitializeComponent();
//FileOp = new FileManipulation();
prg = new FileManipulation();
//Load config before the program begins - loading sample config or newly generated config
prg.LoadConfig();
FillTextBox();
bgWorker.DoWork += new DoWorkEventHandler(bgWorker_DoWork);
}
< /code>
Код FounalWorker: < /p>
private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
{
if (!textBox1.Text.Contains("\\"))
{
MessageBox.Show("Please define the input folder before starting");

}
else if (!textBox2.Text.Contains("\\"))
{
MessageBox.Show("Please define the XML Output folder before starting");

}
else if (!textBox3.Text.Contains("\\"))
{
MessageBox.Show("Please define the Converted PPF Output Folder before starting");

}
else if (!textBox4.Text.Contains("\\"))
{
MessageBox.Show("Please define the Invalid PPF Output Folder before starting");

}
else
{
// calls the watcher
// prg.FileWatcher.SynchronizingObject = progressBar1.
prg.ProgramProcessing(textBox1.Text);
}
// do some long-winded process here
// this is executed in a separate thread
int maxOps = 1000000;
for (int i = 0; i < maxOps; i++)
{
//rtbText.AppendText(i.ToString() + "\r\n");
// report progress as a percentage complete
bgWorker.WorkerReportsProgress = true;

bgWorker.ReportProgress(100 * i / maxOps);
}
}
private void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// update the progress bar
pbProgress.Value = e.ProgressPercentage;
}
private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
// return to "normal" mode of operation
this.Cursor = Cursors.Default;
btnGo.Enabled = true;
}

private void btnGo_Click_1(object sender, EventArgs e)
{
// give the appearance of something happening
this.Cursor = Cursors.WaitCursor;
btnGo.Enabled = false;
// call RunWorkerAsync to start the background thread
bgWorker.RunWorkerAsync();
}
< /code>
Исключение, выбрасываемое при включении Richtextbox < /code>:
Дополнительная информация: < /p>

Операция по перекрестной транспортировке не действительна: Control 'rtbtext' Доступен из потока, кроме потока, который он был создан. < /p>
< /blockquote '>

Подробнее здесь: https://stackoverflow.com/questions/359 ... temwatcher
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»