C#winform中跨行和列的动态标签

C#winform中跨行和列的动态标签,c#,winforms,entity-framework,C#,Winforms,Entity Framework,我正在开发一个酒店软件,我想在WinForm上显示所有房间,并在运行时添加标签。房间状态将从数据库中提取,标签的颜色将根据房间状态而改变。请告诉我如何创建这个 下面是我想要实现的表单布局示例 编辑: private void Charts(GroupBox group, Label label, string roomNo) { var room = RoomServices.CheckRoom(roomNo); MessageBox.Show(Con

我正在开发一个酒店软件,我想在WinForm上显示所有房间,并在运行时添加标签。房间状态将从数据库中提取,标签的颜色将根据房间状态而改变。请告诉我如何创建这个

下面是我想要实现的表单布局示例

编辑:

private void Charts(GroupBox group, Label label, string roomNo)
    {
        var room = RoomServices.CheckRoom(roomNo);

        MessageBox.Show(Convert.ToString(room.Id));

        try
        {
            if (room.RoomStatusId == 4)
            {
                group.BackColor = Color.Red;
                group.ForeColor = Color.White;
                group.Text = roomNo;
                var c = RoomServices.FindCheckIn(room.Id);

                string name = c.Guest.FirstName + " " + c.Guest.Surname;
                label.Text = name;

            }
            else if (room.RoomStatusId == 3)
            {
                group.BackColor = Color.Orange;
                group.ForeColor = Color.White;
                group.Text = roomNo;
                label.Text = "OUT of Order";

            }
            else if (room.RoomStatusId == 2)
            {
                group.BackColor = Color.Brown;
                group.ForeColor = Color.White;
                group.Text = roomNo;
                label.Text = "Room Dirty";
            }
            else if (room.RoomStatusId == 5)
            {
                group.BackColor = Color.Coral;
                group.ForeColor = Color.White;
                group.Text = roomNo;
                label.Text = "Room Reserved";
            }
            else
            {
                group.BackColor = Color.Green;
                group.ForeColor = Color.White;
                group.Text = roomNo;
                label.Text = "Room Arrival";
            }

        }
        catch (Exception ex)
        {

            MessageBox.Show(ex.Message);
        }

    }

使用UserControl和FlowLayoutPanel解决了这个问题

不只是询问如何解决这个问题。这是一个指南我将给你一个指南:1-创建标签并将其添加到表格中2-根据房间状态更改颜色c#刚刚学过。我真的很困惑。@rilly009然后编辑您的问题并添加您现在的问题以及您的问题的确切位置,因为您的问题即将结束。抱歉,但这个问题不适合这样做。你真的应该阅读,因为你要求一个关于你的具体问题的一般教程。相反,您应该尝试编写一些代码,然后询问有关它的问题(解释您试图解决的广泛场景)。我只能建议看看TableLayoutPanel(或FlowLayoutPanel)是如何工作的,并用按钮填充它