Как показать / скрыть объекты в WinForms - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу показать / скрыть объекты в Strip Menu в C # WinForms.

Я попробовал следующее:

private void button1_Click(object sender, EventArgs e)
        {
            int preCounter = 0;
            int check = 0;

            for (int i = 0; i < Word.Text.Length; i++) 
            {
                if (textBoxTab[i].Text == Letter.Text) 
                {
                    textBoxTab[i].Visible = true;
                    fakeBox[i].Visible = false;
                }
                else preCounter++; 

                if(textBoxTab[i].Visible == true)
                {
                    check++;
                }
            }

            if(preCounter == Word.Text.Length)
            {
                counter++; // licznik błędów
                label1.Text = counter.ToString(); // zapis błędów
            }

            Letter.Text = string.Empty;

            if(check == Word.Text.Length)
            {
                MessageBox.Show("YOU WIN!!!");
            }
        }

Есть меню Strip:

private void newGameToolStripMenuItem_Click(object sender, EventArgs e) 
        {
            Word.Visible = true; 
            WordButton.Visible = true;
            Wisielec.Visible = true;
            Podaj.Visible = true; 
            Letter.Visible = false; //cant hide
            button1.Visible = false;
            label1.Visible = false;
            Counter_l.Visible = false;
            Podaj2.Visible = false;
            for (int i = 0; i < Word.Text.Length; i++) // cant hide
            {
                textBoxTab[i].Visible = false;
                textBoxTab[i].Text = string.Empty;
                fakeBox[i].Visible = false;
                fakeBox[i].Text = string.Empty;
            }
            Word.Text = string.Empty;
            Letter.Text = string.Empty;
        }

Если я нажимаю на полоску меню еще раз, объекты, которые я хочу видеть, на самом деле видимы, но некоторые объекты, которые я хочу скрыть, все еще видимы.

1 Ответ

0 голосов
/ 06 ноября 2019
private void button1_Click(object sender, EventArgs e)
        {
            //Your code
            //Your code
this.Invalidate(); // perform form re-draw
        }
private void newGameToolStripMenuItem_Click(object sender, EventArgs e) 
        {
            //Your code
            //Your code
this.Invalidate(); // perform form re-draw
        }
...