2017-04-03 56 views
-1

我正在一家酒店软件,我想在运行时显示所有的房间在WinForm与标签上。房间状态将从数据库中拉出,标签的颜色将根据房间状态而改变。请如何去创建这个。C#动态标签跨行和列winform

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

Example of the form layout

编辑:

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); 
     } 

    } 
+0

不只是要求如何去说。本指南 – rilly009

+1

我给你一个指导:1-创建标签并将它们添加到你的表单中2.-根据房间状态改变颜色 – Pikoh

+0

刚刚学习c#的新手。我真的很困惑。 – rilly009

回答

0

使用用户控件和FlowLayoutPanel的解决这个