如何使用组合框选择要在flowlayoutpanel中显示哪些面板?

时间:2011-11-04 03:23:54

标签: c# windows winforms user-interface

我目前正在开发一个C#Windows窗体应用程序。

在主窗体中,有一种创建面板的方法以及与之关联的所有按钮和标签。对于我的情况,会有两种类型的面板,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;
    }

我还创建了一个方法来绘制一个flowlayoutpanel来添加我的面板。

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 :(得分:0)

我建议您使用List。在FlowLayoutpanel中添加Panel之前,请在列表中添加它们,如果可能,请在不同的列表中添加它们(正常和重要)。然后只需运行循环以显示flowlayoutpanel中所需列表的所有面板。 I have given some details in your previous query

希望它有所帮助。