【问题标题】:how to make a text boxes text move back and forth?如何使文本框的文本来回移动?
【发布时间】:2012-02-15 11:18:27
【问题描述】:

你好 atm 我有这个代码

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox1.Checked == true)
        {
            x = 0;
            timer1.Enabled = true;
            timer1.Start();
        }
        else
        {
            timer1.Enabled = false;
        }
    }
    private int x = 0;
    private int y = 0;
    private void timer1_Tick(object sender, EventArgs e)
    {
        if (x <= 10)
        {
            x++;
            string ping = new string(' ', x) + "hello";
            label1.Text = ping;
            if (x == 10)
            {
                y = 10;
            }
        }
        else if (y > 0)
        {
            y--;
            string pong = new string(' ', y) + "hello";
            label1.Text = pong;
            if (y == 0)
            {
                x = 0;
            }
        }
    }

目前标签的最大长度为 15 个字符,我希望它保持这种状态。

但我希望它而不是使用“hello”将我输入的文本放入文本框并执行它。

但是它必须花费 15 并减去文本框文本的长度,以保持标签最大长度 15 完整,同时在文本框中显示整个单词但我不知道该怎么做我已经尝试了很多的事情,但我无法弄清楚任何帮助将不胜感激。 :D

【问题讨论】:

  • 您可以将here 中的代码绑定到您的计时器,在每次滴答时增加其位置。
  • 不太确定你的目标是什么。您似乎在做的是通过用空格填充将单词 hello 向右移动然后向左移动。您可以通过更改 Left (x) 和 Top (y) 属性来移动标签控件。文本框控件也可以这样做。我假设您只是在这里尝试动画而不是设计用户界面。用户不得不用鼠标点击移动的文本框可能有点“有趣”。
  • 基本上我试图用文本框的文本替换你好,但标签的最大长度是 15,所以我不知道如何合并我会做的 15 - textbox1.text.length 对吗?但它不会让我为此创建一个私有 int

标签: c# winforms checkbox timer textbox


【解决方案1】:

您使用“ping”和“pong”这两个词,加上您的标题“来回移动”让我相信您可以通过在每个刻度上更改标签的 TextAlign 属性来实现您想要的结果。

如果这是您想要的结果,您根本不需要添加空格。文本将出现在标签中从左到右边缘。您可能会考虑使用 TRIM() 修剪 text 属性,以确保两侧不存在任何可能导致对齐不正确的空格。

【讨论】:

  • 我该怎么做?我对c#中的很多东西都不是很熟悉
  • 它也正确对齐我只是希望能够使用文本框代替“hello”
  • 同时保持标签最大字符长度为 15
  • 在每个计时器的滴答声中,执行以下操作: If (Label1.TextAlign == MiddleLeft) {Label1.TextAlign = MiddleRight;} else {Label1.TextAlign == MiddleLeft;} (记住,我'我是一个 VB.NET 人,但我相信这对于 C# 来说是大致正确的。在 cmets 中我当然不能显示正确的换行符。)
  • 哎呀我有一个 == 我应该有一个 = 但你可能发现了。 (这就是 VB 人习惯做事的方式。)当然,您还需要将 text 属性设置为您想要的任何内容,可以来自文本框。您是希望它“逐渐”从一侧移动到另一侧,一次一个空间,还是希望它在每次滴答时立即移动?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多