08-10-20, 03:58 PM
في هذا المثال نتعلم كيفية عمل بنل ازرار كبنل برامج نقاط البيع بطريقة بسيطة و سهلة :
سكربت جدول قاعدة البيانات :
تم وضع خاصيتان للزر الاولى الباركود و الثانية السعر كود الزر و الخصائص :
PHP كود :
DataTable dt = new DataTable();
private void Form1_Load(object sender, EventArgs e)
{
//استعلام لجلب المعلومات من جدول الازرار//
string StrSQL = "Select * From ButtonCellPoint1 where MasterButtom='false'";
//كود الاتصال بقاعدة البيانات//
SqlConnection cn = new SqlConnection("Server =(local);database=ALASEM4;integrated security=True");
//تعريف داتا ادبتر//
SqlDataAdapter da = new SqlDataAdapter(StrSQL, cn);
//تنظيف الداتا تيبل//
dt.Clear();
//تعبئة الداتا تيبل بالجدول المطلوب//
da.Fill(dt);
//تعريف متغيير رقمي لاسم الزر//
int x = 0;
//عمل لووب على السجدلات بالجدول المطلوب//
foreach (DataRow row in dt.Rows)
{
//اضافة 1 مع كل دورة//
x += 1;
//اضافة زر جديد مع كل دورة في اللوب//
ButtonXT btn = new ButtonXT();
//اسم الزر//
btn.Name = "Button" + x;
//تسمية الزر//
btn.Text = row["ButtonName"].ToString();
//خاصية الباركود المضافة للزر//
btn.Barcode = row["ButtonBarcode"].ToString();
//خاصية السعر المضافة للزر//
btn.Price = Convert.ToInt32(row["ButtonType"].ToString());
//وضع مكان الصورة و عمل تحجيم لها لتتناسب مع الزر//
btn.Image = sizeimage(Image.FromFile(row["ImageLocation"].ToString()));
//محاذاة الصورة ضع الرقم 2 تعطيك محاذاة للاعلى//
btn.ImageAlign = ContentAlignmentXT(row["ImageAlignment"].ToString());
//محاذاة النض ضع الرقم 512 تعطيك محاذاة للاسفل//
btn.TextAlign = ContentAlignmentXT(row["FontAlignment"].ToString());
//رفع الكتابة الى الاعلى بمقدار 5 محفوظه بالجدول بقاعدة البيانات//
btn.Padding = new System.Windows.Forms.Padding(0, 0, 0, Convert.ToInt32(row["ButtonTopPadding"]));
//ضع الرقم 1//
btn.FlatStyle = FlatStyleXT(row["FlatStyle"].ToString());
//طول الزر لنفرض 80//
btn.Height = Convert.ToInt32(row["ButtonHeight"].ToString());
//عرض الزر لنفرض 100//
btn.Width = Convert.ToInt32(row["ButtonWidth"].ToString());
//بعد اضافة الاداة فلو بانل الى الفورم//
//نقوم باضافة اداة الزر اليها//
FlowLayoutPanel1.Controls.Add(btn);
//اضافة الاحداث عند الضغط على الزر المولد//
btn.Click += ClickButton;
}
}
//حدث الضغط على الزر المولد//
private void ClickButton(Object sender, EventArgs e)
{
//اخذ نسخة من سيندر كزر//
ButtonXT d = sender as ButtonXT;
//إضافة معلومات السلعة الى الداتا غريد//
//DgvCellPoint.Rows.Add(d.Barcode, d.Text, d.Price);
if (DgvCellPoint.Rows.Count == 0)
{
DgvCellPoint.Rows.Add(d.Barcode, d.Text, +1, d.Price);
return;
}
foreach (DataGridViewRow item in DgvCellPoint.Rows)
{
if (!DgvCellPoint.Rows.Cast<DataGridViewRow>().Any(r => r.Cells["ColName"].Value.ToString() == d.Text))
{
DgvCellPoint.Rows.Add(d.Barcode, d.Text, +1, d.Price);
return;
}
else if (item.Cells["ColName"].Value.ToString() == d.Text)
{
item.Cells["ColQnt"].Value = Convert.ToInt32(item.Cells["ColQnt"].Value) + 1;
return;
}
}
}
//تحجيم الصورة لتتناسب مع حجم الزر//
private Image sizeimage(Image img)
{
//تحجيم الصورة لتتناسب مع حجم الزر//
return new Bitmap(img, new Size(48, 48));
}
سكربت جدول قاعدة البيانات :
PHP كود :
/****** Object: Table [dbo].[ButtonCellPoint1] Script Date: 10/08/2020 02:46:09 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ButtonCellPoint1](
[ButtonID] [int] NULL,
[MasterButtom] [bit] NULL,
[ButtonBarcode] [nvarchar](255) NULL,
[ButtonName] [nvarchar](255) NULL,
[ButtonType] [int] NULL,
[ButtonSource] [nvarchar](255) NULL,
[ButtonShow] [bit] NULL,
[UserNameXT] [nvarchar](255) NULL,
[ImageAlignment] [nvarchar](255) NULL,
[FontAlignment] [nvarchar](255) NULL,
[ImageLocation] [nvarchar](255) NULL,
[ForeColor] [nvarchar](255) NULL,
[BackColor] [nvarchar](255) NULL,
[FlatStyle] [nvarchar](255) NULL,
[ButtonWidth] [int] NULL,
[ButtonHeight] [int] NULL,
[ButtonTop] [int] NULL,
[ButtonLeft] [int] NULL,
[ButtonTopPadding] [int] NULL
) ON [PRIMARY]
GO
INSERT [dbo].[ButtonCellPoint1] ([ButtonID], [MasterButtom], [ButtonBarcode], [ButtonName], [ButtonType], [ButtonSource], [ButtonShow], [UserNameXT], [ImageAlignment], [FontAlignment], [ImageLocation], [ForeColor], [BackColor], [FlatStyle], [ButtonWidth], [ButtonHeight], [ButtonTop], [ButtonLeft], [ButtonTopPadding]) VALUES (1, 0, N'20052225', N'بيتزا صغيرة', 4, N'وجبات سريعة', 1, N'1', N'2', N'512', N'Image\Question4.png', N'-1', N'16777215', N'1', 100, 80, 5, 5, 5)
INSERT [dbo].[ButtonCellPoint1] ([ButtonID], [MasterButtom], [ButtonBarcode], [ButtonName], [ButtonType], [ButtonSource], [ButtonShow], [UserNameXT], [ImageAlignment], [FontAlignment], [ImageLocation], [ForeColor], [BackColor], [FlatStyle], [ButtonWidth], [ButtonHeight], [ButtonTop], [ButtonLeft], [ButtonTopPadding]) VALUES (2, 0, N'20052226', N'بيتزا وسط', 4, N'وجبات سريعة', 1, N'1', N'2', N'512', N'Image\RistoranteMatera.png', N'-1', N'16777215', N'1', 100, 80, 5, 5, 5)
INSERT [dbo].[ButtonCellPoint1] ([ButtonID], [MasterButtom], [ButtonBarcode], [ButtonName], [ButtonType], [ButtonSource], [ButtonShow], [UserNameXT], [ImageAlignment], [FontAlignment], [ImageLocation], [ForeColor], [BackColor], [FlatStyle], [ButtonWidth], [ButtonHeight], [ButtonTop], [ButtonLeft], [ButtonTopPadding]) VALUES (3, 0, N'20052227', N'بيتزا كبيرة', 4, N'وجبات سريعة', 1, N'1', N'2', N'512', N'Image\Question5.png', N'-1', N'16777215', N'1', 100, 80, 5, 5, 5)
INSERT [dbo].[ButtonCellPoint1] ([ButtonID], [MasterButtom], [ButtonBarcode], [ButtonName], [ButtonType], [ButtonSource], [ButtonShow], [UserNameXT], [ImageAlignment], [FontAlignment], [ImageLocation], [ForeColor], [BackColor], [FlatStyle], [ButtonWidth], [ButtonHeight], [ButtonTop], [ButtonLeft], [ButtonTopPadding]) VALUES (4, 1, N'0', N'بيتزا', 0, N'الوجبات', 1, N'1', N'2', N'512', N'Image\Question5.png', N'-1', N'16777215', N'1', 100, 80, 5, 5, 0)
INSERT [dbo].[ButtonCellPoint1] ([ButtonID], [MasterButtom], [ButtonBarcode], [ButtonName], [ButtonType], [ButtonSource], [ButtonShow], [UserNameXT], [ImageAlignment], [FontAlignment], [ImageLocation], [ForeColor], [BackColor], [FlatStyle], [ButtonWidth], [ButtonHeight], [ButtonTop], [ButtonLeft], [ButtonTopPadding]) VALUES (5, 1, N'0', N'الساندويش', 0, N'الوجبات', 1, N'1', N'2', N'512', N'Image\Question5.png', N'-1', N'16777215', N'1', 100, 80, 5, 5, 0)
INSERT [dbo].[ButtonCellPoint1] ([ButtonID], [MasterButtom], [ButtonBarcode], [ButtonName], [ButtonType], [ButtonSource], [ButtonShow], [UserNameXT], [ImageAlignment], [FontAlignment], [ImageLocation], [ForeColor], [BackColor], [FlatStyle], [ButtonWidth], [ButtonHeight], [ButtonTop], [ButtonLeft], [ButtonTopPadding]) VALUES (6, 1, N'0', N'الوجبات', 0, N'الوجبات', 1, N'1', N'2', N'512', N'Image\RistoranteMatera.png', N'-1', N'16777215', N'1', 100, 80, 5, 5, 0)
تم وضع خاصيتان للزر الاولى الباركود و الثانية السعر كود الزر و الخصائص :
PHP كود :
namespace CellPointCSharp
{
public class ButtonXT : System.Windows.Forms.Button
{
public int Price { get; set; }
public string Barcode { get; set; }
}
}
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر