Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使文本框动态显示我的公司名称_.net_Vb.net_Winforms - Fatal编程技术网

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

.net 使文本框动态显示我的公司名称,.net,vb.net,winforms,.net,Vb.net,Winforms,例如,如果您有一个条形码系统扫描仪,并且您有一个文本框,显示使用条形码扫描项目后的总金额,在您打印账单后,我希望总金额文本的文本框像屏幕保护程序一样显示我的公司名称,但仅显示在总文本框中。我希望公司名称文本在文本框中持续向左移动,该文本框显示在没有要扫描或销售的项目期间的总计 它就像一个屏幕保护程序,但它应该显示公司名称或任何东西 我不知道怎么做。我必须使用像这样的循环吗 for step 0 to n loop>>txtTotal.text="Company Advertiseme

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

它就像一个屏幕保护程序,但它应该显示公司名称或任何东西

我不知道怎么做。我必须使用像这样的循环吗

for step 0 to n loop>>txtTotal.text="Company Advertisement"
??但在下一步中,我希望文本向左移动大约10个像素,然后一次又一次地消失,并在没有要扫描的项目时重新开始

代码:


在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 

您需要将执行此操作的代码放置在窗体_Timer event(VBA)中或附加到计时器对象(VB.NET),并将计时器间隔设置为适当的非零值。

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


如果你想让你的文本“在”文本框内,最简单的方法似乎是将文本框和广告文本放在同一个网格内(广告文本当然是在后面定义的)。

它会将文本框向左移动,但我想我的计算机会因为无限循环而爆炸。还有更好的主意吗?非常感谢。您使用的是Windows窗体吗?是的,我使用的是Windows窗体。但这似乎是Windows窗体…
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