C# for循环 实现字符循环显示
如:str1="Helloworld";把str1像走马灯一样循环显示在textbox中.请用c#编写,并给出代码.谢谢!!...
如: str1 = "Hello world";
把str1像走马灯一样循环显示在textbox中.
请用c#编写,并给出代码.谢谢!! 展开
把str1像走马灯一样循环显示在textbox中.
请用c#编写,并给出代码.谢谢!! 展开
2个回答
展开全部
这种需求用For能做到,但是要用到Thread.Sleep(),一般都不会这么做,一般的做法是用Timer,如
class Program
{
static string str1 = "Hello World";
static int index = 0;
static void Main(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);//指定每个间隔调用的函数
timer.Interval = 1000;//设置间隔,单位毫秒
timer.Start();//开始
Console.Read();
}
static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Console.Write(str1[index++]);
index = index % str1.Length;
}
}
这段代码稍加修改就可以用到WinForm里面了,自己改一下吧~~~
class Program
{
static string str1 = "Hello World";
static int index = 0;
static void Main(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);//指定每个间隔调用的函数
timer.Interval = 1000;//设置间隔,单位毫秒
timer.Start();//开始
Console.Read();
}
static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Console.Write(str1[index++]);
index = index % str1.Length;
}
}
这段代码稍加修改就可以用到WinForm里面了,自己改一下吧~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼的,走马灯可不是一个一个蹦的
要计算文本框的长度和字体的宽度,算出能显示多少位,根据字符串长度决定添加多少个空格,
根据字符串加载顺序和移位来实现走马灯效果。
string str1 = "Hello World!";
public Form1()
{
InitializeComponent();
this.textBox1.Text = str1;
Timer tmr = new Timer();
tmr.Interval = 100;
tmr.Tick += new EventHandler(tmr_Tick);
tmr.Start();
}
bool isOver = true;
int index = 0;
private void tmr_Tick(object sender, EventArgs e)
{
if (isOver)
{
if ((textBox1.Text.Length - this.str1.Length) * textBox1.Font.Size / 2 < this.textBox1.Width)
{
textBox1.Text = " " + textBox1.Text;
}
else
{
textBox1.Text = "";
index = 0;
isOver = false;
}
}
else
{
if (index < this.str1.Length)
textBox1.Text = str1.ToCharArray()[str1.Length - 1 - index++] + textBox1.Text;
else
{
textBox1.Text = " " + textBox1.Text;
isOver = true;
}
}
}
要计算文本框的长度和字体的宽度,算出能显示多少位,根据字符串长度决定添加多少个空格,
根据字符串加载顺序和移位来实现走马灯效果。
string str1 = "Hello World!";
public Form1()
{
InitializeComponent();
this.textBox1.Text = str1;
Timer tmr = new Timer();
tmr.Interval = 100;
tmr.Tick += new EventHandler(tmr_Tick);
tmr.Start();
}
bool isOver = true;
int index = 0;
private void tmr_Tick(object sender, EventArgs e)
{
if (isOver)
{
if ((textBox1.Text.Length - this.str1.Length) * textBox1.Font.Size / 2 < this.textBox1.Width)
{
textBox1.Text = " " + textBox1.Text;
}
else
{
textBox1.Text = "";
index = 0;
isOver = false;
}
}
else
{
if (index < this.str1.Length)
textBox1.Text = str1.ToCharArray()[str1.Length - 1 - index++] + textBox1.Text;
else
{
textBox1.Text = " " + textBox1.Text;
isOver = true;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询