Лабораторная работа 1 - Разработка нового распределенного приложения для инструментария Alchemi
Метод, в котором производится обновление прогресса вычислений
public partial class MainForm : Form
{
...
/// <summary>
/// Обновляет изображение графика комплексной функции, время вычислений,
/// а также текущий прогресс.
/// </summary>
/// <param name="thread">успешно завершившийся грид-поток</param>
void UpdateProgress(GThread thread)
{
// Обновляем текущее значение полосы прогресса
progressBarBuildGraph.Value++;
// Обновляем затраченное время
Text = "Complex Visual - " + (DateTime.Now - startTime).ToString();
// Получаем упешно завершившийся грид-поток
ComplexThread complexThread = (ComplexThread)thread;
// Вычисляем координаты левого верхнего угла части изображения
int startX = complexThread.HorNumber * complexThread.Width;
int startY = complexThread.VerNumber * complexThread.Height;
// Создаем объект Graphics для работы с изображением
Graphics graphics = Graphics.FromImage(image);
// Добавляем к общему изображению сгенерированную часть
graphics.DrawImage(complexThread.Image, startX, startY);
// Обновляем изображение комплексной функции
pictureBoxGraph.Refresh();
}
...
}