標籤:blog http io ar 2014 div 代碼 log html
轉檯是餐飲系統中常用的操作,一般系統都是右鍵選擇彈出目標台介面,然後選擇目標台確定,現在我們把需要轉的台通過拖動到目標台表徵圖上面就可以實現前面的操作,簡單快捷。
轉檯操作時:
轉檯成功後:
/// <summary> /// 當拖動某項時觸發 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView1_ItemDrag(object sender, ItemDragEventArgs e) { listView1.DoDragDrop(e.Item, DragDropEffects.Move); } /// <summary> /// 滑鼠拖動某項至該控制項的地區 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView1_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } /// <summary> /// 拖動時拖著某項置於某行上方時 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView1_DragOver(object sender, DragEventArgs e) { Point ptScreen = new Point(e.X, e.Y); Point pt = listView1.PointToClient(ptScreen); ListViewItem item = listView1.GetItemAt(pt.X, pt.Y); if (item != null) item.Selected = true; } /// <summary> /// 結束拖動 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView1_DragDrop(object sender, DragEventArgs e) { ListViewItem draggedItem = (ListViewItem)e.Data.GetData(typeof(ListViewItem));//舊目標 Point ptScreen = new Point(e.X, e.Y); Point pt = listView1.PointToClient(ptScreen); ListViewItem TargetItem = listView1.GetItemAt(pt.X, pt.Y);//新目標 if (null == TargetItem) { return; } if (MessageBoxEx.Show("[" + draggedItem.Text + "]轉至[" + TargetItem.Text + "]", "詢問", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { var item = draggedItem.Tag as View_TableListModel; int tableid = item.ID; } //listView1.Items.Insert(TargetItem.Index, (ListViewItem)draggedItem.Clone()); //listView1.Items.Remove(draggedItem); }
C#拖放實現餐飲系統轉檯操作