Как выбрать панели для отображения в панели Flowlayout, используя поле со списком? - PullRequest
0 голосов
/ 04 ноября 2011

В настоящее время я занимаюсь разработкой приложения Windows C #.

В основной форме есть метод создания панелей вместе со всеми кнопками и надписями, которые с ним связаны.В моем случае было бы 2 типа панелей: NotificationPanel и NotificationPanelImpt.

private Panel createNotificationPanelImpt()
    {
        var p = new Panel
        {
            BorderStyle = BorderStyle.FixedSingle,
            Size = new Size(506, 100)

        };
        p.Controls.Add(new Button
        {
            Text = "Clear",
            Name = "btnClear",
            Location = new Point(416, 17)
        });

        return p;
    }

Я также создал метод для рисования потоковой панели для добавления в нее своих панелей.

private FlowLayoutPanel createFlowLayoutPanel()
    {
        var nFlowPanel = new FlowLayoutPanel
        {
            FlowDirection = FlowDirection.TopDown,
            WrapContents = false,
            AutoScroll = true,
            Size = new Size(530, 500),
            Location = new Point(13, 145)
        };
        return nFlowPanel;
    }

Я добавил комбо-бокс, в котором есть 3 элемента.

Показать все, то есть показывать каждое отдельное уведомление,
Только важно, то есть показывать только важные панели,
Только нормальное, то есть показывать только все нормальные панели.

Как мне написать код в моем обработчике событий comboBox, чтобы он работал так, как я хочу?Это то, что я сделал до сих пор, но я не уверен, как мне заполнить панели, чтобы отобразить, что я хочу.

private void comboAlertType_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (comboAlertType.SelectedIndex == 0)
        {

        }
        else
            if (comboAlertType.SelectedIndex == 1)
            {


            }
            else
            {


            }
    }

Спасибо!

1 Ответ

0 голосов
/ 04 ноября 2011

Я предложу вам использовать список для этого.Прежде чем добавлять панели в FlowLayoutpanel, добавьте их в списки и, если возможно, добавьте их (обычные и важные) в другой список.Затем просто выполните цикл, чтобы отобразить все панели необходимого списка в панели Flowlayout. Я дал некоторые детали в вашем предыдущем запросе .

Надеюсь, это поможет.

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