В C # WinForms я пишу программу, которая читает значения из последовательного порта и в соответствии с полученным значением отображает изображение в графическом окне: если значение равно X, оно будет отображать изображение1, а если значение Y, отобразить изображение2 ... и т. д.
Когда я получил первое значение, программа отображает первое изображение v; хорошо, но когда получено второе значение, новое изображение не отображается: отображается только то же изображение, даже если значения были изменены. Изображение не изменило изображение.
Я пытаюсь picturebox.Refresh()
и picturebox.Invalidate()
, но это не работает.
Спасибо
Это код, который устанавливает изображения:
if (value == "X")
{
path = "c:\\c#\\image1.png";
pictureBox1.Invoke(new OutputUpdateDelegate (OutputUpdateCallback1),path);
}
if (value == "Y")
{
path = "c:\\c#\\image2.png";
pictureBox1.Invoke(new OutputUpdateDelegate(OutputUpdateCallback1), path);
}
delegate void OutputUpdateDelegate(string data);
private void OutputUpdateCallback1(string data)
{
pictureBox1.Image = Image.FromFile(data);
}