Отображение значения данных в реальном времени в C # - PullRequest
0 голосов
/ 14 мая 2011

Простой вопрос C #: я пытался создать простую C # DLL, которая использует стороннюю библиотеку для потоковой передачи изображений с цифровой камеры.

Действительно начинающий программист C # здесь, так что терпите меня через этот вопрос:)

Я добавил счетчик к коду, чтобы при каждом получении изображения счетчик увеличивался.

Я построил бессмысленный и простой графический интерфейс с кнопками запуска и остановки, чтобы убедиться, что все былоработал должным образом, потому что в прошлом у нас были некоторые проблемы, когда камера внезапно прекращала потоковую передачу, поэтому я хотел контролировать этот счетчик таймера, чтобы убедиться, что он постоянно увеличивается.

Какой разумный способ сделать этополучить отображение значения таймера в реальном времени?Это всего лишь UInt32 и является частью объекта, вставленного из DLL.

То, что я на самом деле реализовал, было неаккуратным: у меня есть кнопка, которая при нажатии выдает окно сообщения, отображающее значение таймера, так чточтобы проверить, все ли еще работает, я бы дважды нажал эту кнопку, чтобы убедиться, что значение несколько увеличилось.

Как правильно это сделать?Привязка данных?Что большинство из вас сделает в этом простом случае?Мне просто нужна метка / текстовое поле / все, что будет постоянно обновляться значением моего элемента данных счетчика.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 14 мая 2011

Самое простое (при условии, что вы не можете просто обновить при поступлении новых данных) было бы добавить в форму таймер форм и обновить пользовательский интерфейс в событии "tick" таймера.

http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.aspx

0 голосов
/ 14 мая 2011

метка - очень хороший подход, но вы должны убедиться, что вы избегаете, поскольку приложение не отвечает, поэтому добавьте строку кода, которая позволяет форме обрабатывать свою очередь

lblNumber.Text = number;
Application.DoEvents();
0 голосов
/ 14 мая 2011

У меня будет элемент управления Label (при условии winforms), текстовое свойство которого я буду устанавливать в значение счетчика при каждом увеличении.

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