C # проблема последовательного порта с картинкой - PullRequest
0 голосов
/ 25 июля 2011

В 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);
}

1 Ответ

0 голосов
/ 25 июля 2011

попробуйте

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);
}

Я снял некоторую скобку "}", которая, казалось, была помещена неправильно - хотя не уверен, потому что недостаточно источника, чтобы быть уверенным ...

РЕДАКТИРОВАТЬ:

для дальнейшей диагонали установите точку останова на pictureBox1.Image = Image.FromFile(data); и посмотрите значение данных ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...