скрыть все usercontrol и показать только один usercontrol c# - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь написать некоторый код пользовательского интерфейса в Winforms, используя фреймворк Guna.UI. Но, применяя функции Hide () и Show () для нескольких элементов управления, я испытываю трудности с наличием большого количества назначений для элементов управления в функции void (). Как я могу минимизировать код и преобразовать его в правильную структуру?

Ниже приведен пример из моего кода:

 private void gunaButton4_Click(object sender, EventArgs e)
    {
        if (comboboxvivo.Text.Equals("Vivo V11 Pro")) V11Pro();

    }
    void V11Pro()
    {
        v11Pro1.Show();
        v11Pro1.BringToFront();
        testpointblank1.Hide();
        //vivohide//
        v91.Hide();
        v7Plus1.Hide();
        v71.Hide();
        y93Y951.Hide();
        y911.Hide();
        x231.Hide();
        //oppohide//
        a831.Hide();
        f91.Hide();
        f71.Hide();
        f51.Hide();
        rmX18311.Hide();
        rmX18311.Hide();
        //xiaomihide//
        redmi3x1.Hide();
        redmi5a1.Hide();
    }

1 Ответ

0 голосов
/ 22 января 2020

Я понятия не имею, что такое пользовательский интерфейс Guna (я впечатлен, что есть что-то, у чего нет тега StackOverflow). Но, предполагая, что все эти элементы управления наследуются от некоторого общего базового класса, скажем, Control, вы можете сделать что-то вроде:

var controls = new List<Control>
{
    button1, button2, button3,    //etc.
};
controls.ForEach(c => c.Hide());

Не намного больше печатать, но немного легче поддерживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...