Переменная не обновляется в winforms - PullRequest
0 голосов
/ 19 июня 2020
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: необходимая строка. Key рассчитывается из
  • neededtype: это richtextbox, я отображаю слово в

Этот код здесь пытается добавить +1 к mostanikari, а затем перейдите к выделенному

1 Ответ

0 голосов
/ 20 июня 2020

Вам не нужно вызывать InitializeComponent() при нажатии клавиши, потому что это вернет объект в его состояние по умолчанию. Вот почему вы не видите изменений в 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
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...