📄 frmreception.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Hotel.Control;
using Hotel.Command;
using Hotel.Reception.Bll;
using Hotel.Guest.Bll;
using Hotel.GuestRoom.Bll;
namespace Hotel.Reception.Face
{
public partial class FrmReception : Form
{
private Hotel.Control.RoomStateControl[] rs;
private Hotel.Control.RoomStateControl[] roomSc;
private StoreyManager _SM ;
private bool selectStatues=false;
private int roomIndex = 0;
public FrmReception()
{
InitializeComponent();
Init();
}
public void Init()
{
_SM = new StoreyManager();
ShowStoryUnitOf();
// this.WindowState = FormWindowState.Maximized;
}
#region 显示楼区
private void ShowStoryUnitOf()
{
int i = 0;
ListViewItem lvItem;
this.lvUnit.Clear();
this.lvLayer.Clear();
ListViewGroup lvGroup = new ListViewGroup("楼区",HorizontalAlignment.Left);
lvGroup.Header = "楼区";
lvGroup.Name = "ListViewUnit";
this.lvUnit.Groups.AddRange(new ListViewGroup[] {lvGroup});
String[] UnitStr = new string[_SM._mySU.Count];
foreach (StoreyUnit var in _SM._mySU)
{
lvItem = new ListViewItem(new string[] {
var.Dm+"."+var.Memo}, 1, SystemColors.WindowText, Color.Silver, new Font("宋体", 9F));
lvItem.Group = lvGroup;
lvItem.StateImageIndex = 1;
lvItem.ForeColor = Color.Blue;
lvItem.Tag = "Checked";
//ShowStoryLayerOf(var.Dm);
UnitStr[i] = var.Dm;
i++;
this.lvUnit.Items.Add(lvItem);
}
CheckSelectUnitToLayer();
}
#endregion
#region 显示楼层
private void ShowStoryLayerOf(string UnitStr)
{
ListViewItem lvItem;
ListViewGroup lvGroup = new ListViewGroup(UnitStr+".楼区"+"的楼层", HorizontalAlignment.Left);
lvGroup.Header = UnitStr + ".楼区" + "的楼层";
lvGroup.Name = "ListViewLayer";
this.lvLayer.Groups.AddRange(new ListViewGroup[] { lvGroup });
StoreyUnit su = new StoreyUnit();
if (_SM.Find(UnitStr) == null)
{
return;
}
else
{
su = _SM.Find(UnitStr);
}
this.lvUnit.Groups.AddRange(new ListViewGroup[] { lvGroup });
foreach (StoreyLayer var in su.MySL)
{
lvItem = new ListViewItem(new string[] {
var.Dm+"."+var.Memo}, 1, SystemColors.WindowText, Color.Silver, new Font("宋体", 9F));
lvItem.Group = lvGroup;
lvItem.StateImageIndex = 1;
lvItem.ForeColor = Color.Blue;
lvItem.Tag = "Checked";
this.lvLayer.Items.Add(lvItem);
}
}
#endregion
#region 测试-倒入用户控件
private void toolStripButton10_Click(object sender, EventArgs e)
{
lpAllRoom.Controls.Clear();
roomSc = new RoomStateControl[12];
for (int i = 0; i < 12; i++)
{
roomSc[i] = new RoomStateControl();
roomSc[i].ID = i.ToString();
roomSc[i].Name = i.ToString();
roomSc[i].RoomNo = "200" + i.ToString();
roomSc[i].ValueChanged += new RoomStateControl.ChangedHandle(ShowTile);
roomSc[i].MsgCommand += new RoomStateControl.MenuHandle(MsgCommand);
lpAllRoom.Controls.Add(roomSc[i]);
}
}
#endregion
#region 测试-根据控件的操作发送回消息
private void MsgCommand(object sender, String MsgType)
{
MessageBox.Show(MsgType);
}
#endregion
#region 测试-显示当前选中的控件
private void ShowTile(object sender, GetRoomGuest e)
{
Customer cc=new Customer();
Room rc=new Room();
cc = e.CustomerClient;
this.Text = "1" + cc.GuestMessage;
}
#endregion
#region 测试-改变控件的门状态
private void toolStripButton8_Click(object sender, EventArgs e)
{
roomSc[1].UsedState = (int)EnumObj.UsedState.Customer;
}
#endregion
#region 事件-选择楼区的效果
private void lvUnit_ItemActivate(object sender, EventArgs e)
{
if (lvUnit.SelectedItems[0].SubItems[0].ForeColor == Color.Blue)
{
// Font readfont = new Font("宋体", 9, FontStyle.Regular);
//lvUnit.SelectedItems[0].SubItems[0].Font = readfont;
lvUnit.SelectedItems[0].SubItems[0].ForeColor = Color.Black;
lvUnit.SelectedItems[0].Tag = "UnChecked";
lvUnit.SelectedItems[0].ImageIndex = 0;
//lvUnit.SelectedItems[0].SubItems[0].BackColor = Color.Transparent;
}
else
{
lvUnit.SelectedItems[0].SubItems[0].ForeColor = Color.Blue;
lvUnit.SelectedItems[0].Tag = "Checked";
lvUnit.SelectedItems[0].ImageIndex = 1;
}
CheckSelectUnitToLayer();
}
#endregion
#region 事件-选择单个楼区的效果
private void lvUnit_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (lvUnit.SelectedItems.Count>1)
{
e.Item.ImageIndex = 1;
e.Item.ForeColor = Color.Blue;
e.Item.Tag = "Checked";
}
CheckSelectUnitToLayer();
}
#endregion
#region 事件-选择单个楼层的效果
private void lvLayer_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (lvLayer.SelectedItems.Count > 1)
{
e.Item.ImageIndex = 1;
e.Item.ForeColor = Color.Blue;
e.Item.Tag = "Checked";
}
CheckSelectUnitToLayer();
}
#endregion
#region 事件-选择楼层的效果
private void lvLayer_ItemActivate(object sender, EventArgs e)
{
// if (lvLayer.SelectedItems.Count > 0)
//{
if (lvLayer.SelectedItems[0].SubItems[0].ForeColor == Color.Blue)
{
lvLayer.SelectedItems[0].SubItems[0].ForeColor = Color.Black;
lvLayer.SelectedItems[0].Tag = "UnChecked";
lvLayer.SelectedItems[0].ImageIndex = 0;
}
else
{
lvLayer.SelectedItems[0].SubItems[0].ForeColor = Color.Blue;
lvLayer.SelectedItems[0].Tag = "Checked";
lvLayer.SelectedItems[0].ImageIndex = 1;
}
CheckSelectLayerToRoom();
// }
}
#endregion
#region 根据选中的楼层显示房间
private void CheckSelectLayerToRoom()
{
string UnitStr = "";
string LayerStr = "";
lpAllRoom.Controls.Clear();
roomIndex = 0;
for (int i = 0; i < this.lvLayer.Items.Count; i++)
{
if (lvLayer.Items[i].Tag == "Checked")
{
UnitStr = lvLayer.Items[i].Group.Header;
UnitStr = UnitStr.Remove(UnitStr.IndexOf("."));
LayerStr = lvLayer.Items[i].Text;
LayerStr = LayerStr.Remove(LayerStr.IndexOf("."));
ShowRoom(UnitStr, LayerStr);
}
}
}
#endregion
#region 楼区菜单-选择全部楼区
private void allSelectToolStripMenuItem_Click(object sender, EventArgs e)
{
for (int i = 0; i < lvUnit.Items.Count; i++)
{
lvUnit.Items[i].ForeColor = Color.Blue;
lvUnit.Items[i].Tag = "Checked";
lvUnit.Items[i].ImageIndex = 1;
}
CheckSelectUnitToLayer();
}
#endregion
#region 选择全部楼区,并在楼层全部选中
private void CheckSelectUnitToLayer()
{
this.lvLayer.Clear();
lpAllRoom.Controls.Clear();
roomSc = new RoomStateControl[120];
string UnitStr = "";
string LayerStr = "";
roomIndex = 0;
for (int i = 0; i < lvUnit.Items.Count; i++)
{
if (lvUnit.Items[i].Tag == "Checked")
{
UnitStr = lvUnit.Items[i].Text;
UnitStr = UnitStr.Remove(UnitStr.IndexOf("."));
SelectUnitToLayer(UnitStr);
for (int j = 0; j < this.lvLayer.Items.Count; j++)
{
if (lvLayer.Items[j].Tag == "Checked")
{
StoreyLayer sl;
LayerStr = lvLayer.Items[j].Text;
LayerStr = LayerStr.Remove(LayerStr.IndexOf("."));
ShowRoom(UnitStr, LayerStr);
}
}
}
}
}
#endregion
#region 根据楼区和楼层显示房间
private void ShowRoom(string UnitStr, string str)
{
StoreyLayer sl;
if (_SM.Find(UnitStr).Find(str) != null)
{
sl = new StoreyLayer();
sl = _SM.Find(UnitStr).Find(str);
foreach (Room var in sl.MyRoom)
{
roomSc[roomIndex] = new RoomStateControl();
roomSc[roomIndex].ID = var.Id.ToString();
roomSc[roomIndex].Name = var.No;
roomSc[roomIndex].RoomNo = var.No;
roomSc[roomIndex].ValueChanged += new RoomStateControl.ChangedHandle(ShowTile);
roomSc[roomIndex].MsgCommand += new RoomStateControl.MenuHandle(MsgCommand);
lpAllRoom.Controls.Add(roomSc[roomIndex]);
roomIndex++;
}
}
}
#endregion
#region 根据楼区,并在楼层全部选中
private void SelectUnitToLayer(string str)
{
ShowStoryLayerOf(str);
}
#endregion
#region 楼区菜单-取消选择全部楼区
private void noSelectUnitMenu_Click(object sender, EventArgs e)
{
for (int i = 0; i < lvUnit.Items.Count; i++)
{
lvUnit.Items[i].ForeColor = Color.Black;
lvUnit.Items[i].Tag = "UnChecked";
lvUnit.Items[i].ImageIndex = 0;
}
CheckSelectUnitToLayer();
}
#endregion
#region 楼层菜单-取消选择全部楼层
private void NoSelectLayerMenu_Click(object sender, EventArgs e)
{
for (int i = 0; i < lvLayer.Items.Count; i++)
{
lvLayer.Items[i].ForeColor = Color.Black;
lvLayer.Items[i].Tag = "UnChecked";
lvLayer.Items[i].ImageIndex = 0;
}
CheckSelectLayerToRoom();
}
#endregion
#region 楼层菜单-选择全部楼层
private void allSelectLayerMenu_Click(object sender, EventArgs e)
{
for (int i = 0; i < lvLayer.Items.Count; i++)
{
lvLayer.Items[i].ForeColor = Color.Blue;
lvLayer.Items[i].Tag = "Checked";
lvLayer.Items[i].ImageIndex = 1;
}
CheckSelectLayerToRoom();
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -