-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 
4

2 回答 2

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) 中,并将计时器间隔设置为适当的非零值。

于 2013-09-02T23:46:37.237 回答
0

您可以使用 Xaml 中的动画来定义您想要的文本移动的大小、速度……。在 google 或 msdn 上搜索动画或故事板。动画将在计费结束时开始,并在计费开始时停止。
当文本出现/消失时,动画的一部分可能是不透明度的淡入/淡出,然后您可以进行来回移动,比无限滚动更简单。

如果您希望您的文本位于文本框的“内部”,最简单的方法似乎是将文本框和广告文本都放在同一个网格中(当然,广告文本是在之后定义的)。

于 2013-09-09T01:05:36.410 回答