gpt4 book ai didi

C#.Net 在 TextBox 中一次打印字符串的一个字符

转载 作者:行者123 更新时间:2023-11-30 15:28:50 26 4
gpt4 key购买 nike

我是 C# 的新手,我需要你的帮助,我想在文本框中一次显示一个字符,这是我的代码

private void timer1_Tick(object sender, EventArgs e)
{
int i = 0; //why does this don't increment when it ticks again?
string str = "Herman Lukindo";
textBox1.Text += str[i];
i++;
}

private void button1_Click(object sender, EventArgs e)
{
if(timer1.Enabled == false )
{
timer1.Enabled = true;
button1.Text = "Stop";
}
else if(timer1 .Enabled == true )
{
timer1.Enabled = false;
button1.Text = "Start";
}
}

最佳答案

why does this don't increment when it ticks again?

因为您的变量 i 是您事件的本地变量。您需要在类级别定义它。

int i = 0;  //at class level
private void timer1_Tick(object sender, EventArgs e)
{
string str = "Herman Lukindo";
textBox1.Text += str[i];
i++;
}

在事件退出时,变量 i 超出范围并失去其值。在下一个事件中,它被认为是一个初始化值为 0 的新局部变量。

接下来,您还应该寻找跨线程异常。由于您的 TextBox 未在 UI 线程上更新。

关于C#.Net 在 TextBox 中一次打印字符串的一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24866480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com