如何让文本框文本来回移动?

时间:2012-02-15 01:33:47

标签: c# winforms checkbox timer textbox

你好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个字符,我希望它保持这种状态。

但我想要它而不是使用“你好”将我输入的文本带入文本框并执行它。

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

1 个答案:

答案 0 :(得分:0)

你使用“ping”和“pong”这个词加上你的标题“来回移动”会让我相信你想要的结果可以通过在每次滴答时改变标签的TextAlign属性来实现。 / p>

如果这是您想要的结果,则根本不需要添加空格。文本将显示在标签中从左到右的边缘。您可以考虑使用TRIM()修剪text属性,以确保任何一侧都不存在会使其看起来不正确对齐的空格。