使文本框动态显示我的公司名称

时间:2013-09-02 18:36:09

标签: .net vb.net winforms

例如,如果您有条形码系统扫描仪,并且您有一个文本框,显示使用条形码扫描项目后的总金额,打印帐单后,我希望显示总金额文本的文本框公司名称像屏幕保护程序,但只在整个文本框中。我希望公司名称文本在文本框中连续移动到左侧,显示没有要扫描或销售的项目期间的总数。

它就像一个屏幕保护程序,但它应该显示公司名称或其他。

我不知道该怎么做。我是否必须使用像

这样的循环
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 

2 个答案:

答案 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上搜索动画或故事板。 结算结束时动画将开始,结算开始时停止动画 当文本出现/消失时,动画的一部分可以是淡入/淡出不透明度,然后您可以进行前后移动,比无限卷轴更简单。

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