C#winform中跨行和列的动态标签
我正在开发一个酒店软件,我想在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
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)是如何工作的,并用按钮填充它