2013-09-02 2 views
-1

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

Это как экранная заставка, но она должна показывать название компании или что-то еще.

Я понятия не имею, как это сделать. Должен ли я использовать петлю, такую ​​как

for step 0 to n loop>>txtTotal.text="Company Advertisement" 

? Но на следующем шаге я хочу, чтобы этот текст перемещался влево примерно на 10 пикселей, а затем снова и снова и исчезал, и начинался с того, что нет никаких объектов для сканирования.

Код:

Dim i As Double = CDbl(Me.txtTest.Location.X) 
While i >= 1 
    Me.txtTest.Location = New Point(i, Me.txtTest.Location.Y) 
    i -= 0.0001 
    If Me.txtTest.Location = New Point(1, 0) Then 
     Me.txtTest.Location = New Point(675, 0) 
     i = Me.txtTest.Location.X 
    End If 
End While 
+0

он перемещает текстовое поле влево, но я думаю, что мой компьютер будет взорваться из-за бесконечной петли. Любая лучшая идея? Спасибо! – Milot25

+0

Вы используете Windows Forms? – Ryan

+0

Да, я использую Windows Forms. – Milot25

ответ

0

Вы не можете прокручивать текст в текстовое поле по количеству пикселей в VBA (если вы используете VBA) или VB .NET. Все, что вы можете сделать, это удалить первый символ и добавить его в конец строки значений.

Dim i As Double = CDbl(Me.txtTest.Location.X) 
While i >= 1 
    Me.txtTest.Location = New Point(i, Me.txtTest.Location.Y) 
    i -= 0.0001 
    If Me.txtTest.Location = New Point(1, 0) Then 
     Me.txtTest.Location = New Point(675, 0) 
     i = Me.txtTest.Location.X 
    End If 
End While 

Вы должны были бы поместить код, чтобы сделать это в случае Form_Timer (VBA) или прикрепленным к объекту таймера (VB .NET), и установите интервал таймера на соответствующее значение, отличное от нуля.

+0

Спасибо! Он работает с таймером. – Milot25

0

Вы можете использовать анимацию в Xaml, чтобы определить, как вы хотите, размер, скорость, ... перемещений вашего текста. Поиск анимации или раскадровки в google или msdn. Анимация начнется при завершении выставления счета и прекратится при запуске биллинга.
Одной частью анимации может быть затухание/из непрозрачности, когда текст появляется/исчезает, тогда вы можете делать движение назад и вперед, проще, чем бесконечный свиток.

И если вы хотите, чтобы ваш текст был «внутри» текстового поля, у большинства простых, похоже, есть текстовое поле и рекламный текст в той же сетке (текст рекламы определяется после, конечно).

+0

Это, кажется, Windows Forms, хотя ... – Ryan

Смежные вопросы