【发布时间】: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