繁体   English   中英

变量不会在winforms中更新

[英]Variable wont update in winforms

void Neededtype_KeyDown(object sender, KeyEventArgs e)
{
    if (neededkey == e.KeyCode)
    {
        neededtype.ForeColor   = Color.FromName("Gray");
        mostanikari++;

        if (mostanikari == 2)
        {
            neededtype.Text = "work";
        }

        neededtype.SelectionStart = mostanikari;
        kovikari = mostaniszo[mostanikari].ToString();
        neededtype.SelectionLength = neededtype.Text.Length;
        neededtype.SelectionColor = Color.FromName("Blue");

        if (mostanikari == neededtype.Text.Length)
        {
            //random word gen here
        }
    }

    InitializeComponent();
}
  • neededkey : 需要按下的键
  • mostanikari : 是一个 int,它跟踪我们现在在哪个字母上
  • kovikari : 需要的字符串是从
  • 需要类型:是我在其中显示单词的neededtype

此处的代码尝试将 +1 添加到mostanikari ,然后继续选择

当您按下一个键时,您不需要调用InitializeComponent() ,因为这会将 object 重置为其默认值 state。 这就是为什么您在 winform 中看不到变化的原因。

void Neededtype_KeyDown(object sender, KeyEventArgs e) 
{
    if (neededkey == e.KeyCode)
    {
        neededtype.ForeColor   = Color.FromName("Gray");
        mostanikari++;
        if (mostanikari == 2)
        {
            neededtype.Text = "work";
        }
        neededtype.SelectionStart = mostanikari;
        kovikari = mostaniszo[mostanikari].ToString();
        neededtype.SelectionLength = neededtype.Text.Length;
        neededtype.SelectionColor = Color.FromName("Blue");

        if (mostanikari == neededtype.Text.Length)
        {
            //random word gen here
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM