NEWS

[DEVEXPRESS] Hướng dẫn viết phần mềm đặt chỗ ngồi rạp chiếu phim sử dụng SGV ImageBox

[DEVEXPRESS] Hướng dẫn viết phần mềm đặt chỗ ngồi rạp chiếu phim sử dụng SGV ImageBox
Đăng bởi: Thảo Meo - Lượt xem: 9479 10:21:25, 30/07/2020C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ demo ứng dụng đặt chỗ ngồi xem phim Cinema trong rạp chiếu phim, sử dụng SgvImageBox trong Devexpress C# winform.

[DEVEXPRESS] Using SgvImageBox order seat cinema

Thường các bạn hay đi xem phim, sau khi mua vé xong, thì nhân viên bán vẽ sẽ gọi mình chọn chỗ ngồi bằng cách bấm vào màn hình trên máy tính để chọn chỗ ngồi.

Bình thường các bạn có thể sử dụng Button để thiết kế cho từng vị trí ngồi khi người dùng bấm vào.

Nhưng trong bài viết này mình sẽ sử dụng 1 hình sgv, hình này lấy từ demo của Devexpress nhé bạn, code sgv thì các bạn có thể custom chỉnh sửa lại theo ý của mình.

Dưới đây là giao diện demo ứng dụng đặt chỗ ngồi xem phim Người Nhện (Spider Man) C#:

sgvbox_devexpress

Full source code demo ứng dụng đặt chỗ rạp chiếu phim C#:

using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TheaterDemo
{
    public partial class Form1 : DevExpress.XtraEditors.XtraForm
    {
        public Form1()
        {
            InitializeComponent();
            //DoPreselectSeats();
  
        }

        void DoPreselectSeats()
        {
            var selectedSeatItems = svgImageBox.RootItems.Where(i => CheckSeatId(i)).Skip(47).Take(4).ToArray();
            svgImageBox.Selection.AddRange(selectedSeatItems);
        }
        private void svgImageBox_QueryHoveredItem(object sender, DevExpress.XtraEditors.SvgImageQueryHoveredItemEventArgs e)
        {
            if (e.HoveredItem != null && !CheckSeatId(e.HoveredItem))
                e.HoveredItem = e.HoveredItem.FindAncestors(a => CheckSeatId(a)).FirstOrDefault();
        }

        bool CheckSeatId(SvgImageItem svgImageItem) {
            return svgImageItem.Id != null && svgImageItem.Id.StartsWith("seat");
        }
        bool isManualClear;
        private void svgImageBox_SelectionChanging(object sender, SvgImageSelectionChangingEventArgs e)
        {
            if (e.Action == SvgImageSelectionChangeAction.Clear && svgImageBox.HoveredItem == null && !isManualClear)
                e.Cancel = true;
        }

        private void svgImageBox_ItemClick(object sender, SvgImageItemMouseEventArgs e)
        {
           
        }

        private void svgImageBox_SelectionChanged(object sender, EventArgs e)
        {
            var data = svgImageBox.Selection;
            selectedItemsListBox.Items.Clear();
            foreach (var item in svgImageBox.Selection)
            {
                string itemDisplayName = string.Format("Chỗ ngồi: {0}", ((string)item.Tag).ToUpper());
                selectedItemsListBox.Items.Add(itemDisplayName);
            }
        }

        private void btn_reset_Click(object sender, EventArgs e)
        {
            isManualClear = true;
            svgImageBox.Selection.Clear();
            isManualClear = false;
        }
    }
}

Thanks for watching!

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[DEVEXPRESS] Hướng dẫn viết phần mềm đặt chỗ ngồi rạp chiếu phim sử dụng SGV ImageBox
Đăng bởi: Thảo Meo - Lượt xem: 9479 10:21:25, 30/07/2020C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.