Загрузка изображения с удаленной машины в потоке - C#
Формулировка задачи:
Доброго времени суток! Я загружаю с удаленного компьютера нужное мне изображение в потоке и временами программа подвисает на этапе загрузки изображения. Подскажите пожалуйста в чем моя ошибка:
Листинг программы
- private void GridClickNod()
- {
- try
- {
- var thread =
- new Thread(() =>
- NewLoad2(GlobalStaticValues.SelectedNameTable,
- _ctn.FromDataBase(grid.Rows[grid.CurrentRow.Index].Cells[0].Value.ToString()), 0));
- thread.Start();
- }
- catch (Exception)
- {
- }
- }
- private Image _image2;
- private delegate void NLoad2(string nameTable, string rowName, int numImg);
- public void NewLoad2(string nameTable, string rowName, int numImg)
- {
- if (picture.InvokeRequired)
- {
- NLoad2 d = NewLoad2;
- Invoke(d, new object[] { nameTable, rowName, numImg });
- }
- else
- {
- try
- {
- if (_image2 != null)
- {
- _image2.Dispose();
- }
- grid.Cursor = Cursors.WaitCursor;
- tree.Cursor = Cursors.WaitCursor;
- var dir = Directory.GetFiles(GlobalStaticValues.ServName + nameTable + @"\" + rowName + @"\img\");
- _image2 = new Bitmap(dir[numImg]);
- if (picture != null)
- {
- picture.Image = _image2;
- }
- grid.Cursor = Cursors.Default;
- tree.Cursor = Cursors.Default;
- }
- catch (Exception)
- {
- }
- }
- }
Решение задачи: «Загрузка изображения с удаленной машины в потоке»
textual
Листинг программы
- public void NewLoad2(string nameTable, string rowName, int numImg)
- {
- try
- {
- if (_image2 != null)
- {
- _image2.Dispose();
- }
- grid.Cursor = Cursors.WaitCursor;
- tree.Cursor = Cursors.WaitCursor;
- var dir = Directory.GetFiles(GlobalStaticValues.ServName + nameTable + @"\" + rowName + @"\img\");
- _image2 = new Bitmap(dir[numImg]);
- if (picture != null)
- {
- if (picture.InvokeRequired)
- {
- picture.Invoke(new Action( () => picture.Image = _image2));
- }
- }
- grid.Cursor = Cursors.Default;
- tree.Cursor = Cursors.Default;
- }
- catch (Exception)
- {
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д