例如,如果您有条形码系统扫描仪,并且您有一个文本框,显示使用条形码扫描项目后的总金额,打印帐单后,我希望显示总金额文本的文本框公司名称像屏幕保护程序,但只在整个文本框中。我希望公司名称文本在文本框中连续移动到左侧,显示没有要扫描或销售的项目期间的总数。
它就像一个屏幕保护程序,但它应该显示公司名称或其他。
我不知道该怎么做。我是否必须使用像
这样的循环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 :(得分: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)上,并将计时器间隔设置为适当的非零值。
答案 1 :(得分:0)
您可以在Xaml中使用动画来定义文本移动的大小,速度等。 在google或msdn上搜索动画或故事板。 结算结束时动画将开始,结算开始时停止动画 当文本出现/消失时,动画的一部分可以是淡入/淡出不透明度,然后您可以进行前后移动,比无限卷轴更简单。
如果你希望你的文本在文本框的“内部”,最简单的似乎是文本框和广告文本在同一个网格中(广告文本当然是在之后定义的。)