07-11-20, 04:44 PM
السلام عليكم
أنا أعمل على نظام Restaurant POS ، لقد أنشأت نموذجًا لإظهار جميع الإضافات التي يمكن للمستخدمين طلب إضافتها إلى الطلبات ، وهنا النموذج:
داخل هذا النموذج ، أضفت flowlayoutpanel ويوجد داخلها عدة usercontrols ، كل usercontrol به PictureBox و Label و CheckBox. أقوم بأضافة الـ usercontrol في flowlayoutpanel بهذة الطريقة:
PHP كود :
flowLayoutPanel2.Controls.Clear();
DB_conn.Query2("get_food_extras");
DB_conn._dr = DB_conn._cmd.ExecuteReader();
while (DB_conn._dr.Read())
{
Extra_uc UC = new Extra_uc
{
Extras_ID = DB_conn._dr["ID"].ToString(),
Extras_Price = Convert.ToDecimal(DB_conn._dr["price"].ToString()),
Extras_name = DB_conn._dr["name"].ToString()
};
if (DB_conn._dr["image"] != DBNull.Value)
{
byte[] image = (byte[])DB_conn._dr["image"];
image = Decompress(image);
var stream = new MemoryStream();
stream.Write(image, 0, image.Length);
var bitmap = new Bitmap(stream);
UC.Extras_image = bitmap;
}
UC.CheckBox1.CheckedChanged += UC_PictureBox1_Click;
UC.MaterialImage.Click += UC_PictureBox1_Click;
UC.Material_name_txt.Click += UC_PictureBox1_Click;
UC.MaterialImage.MouseDown += UC_PictureBox1_MouseDown;
UC.Material_name_txt.MouseDown += UC_PictureBox1_MouseDown;
UC.MaterialImage.MouseMove += UC_PictureBox1_MouseMove;
UC.Material_name_txt.MouseMove += UC_PictureBox1_MouseMove;
flowLayoutPanel2.Controls.Add(UC);
}
DB_conn._dr.Close();
بهذة الطريقة استطيع جلب النص لـ label الذي تم الضغط علية :
PHP كود :
private void UC_PictureBox1_Click(object sender, EventArgs e)
{
if (!Food_Moved)
{
string Extra_Name = "";
CheckState checkd = CheckState.Unchecked;
if (sender is Label lab)
{
Extra_Name = lab.Tag.ToString();
}
else if (sender is PictureBox btn1)
{
Extra_Name = btn1.Tag.ToString();
}
else if (sender is Guna.UI2.WinForms.Guna2CheckBox ck)
{
checkd = ck.CheckState;
}
MessageBox.Show(Extra_Name.ToString());
}
else
{
Food_Moved = false;
}
}
ما اريدة هنا هو كيف استطيع جلب جميع النصوص ل جميع ال labels الذي تم عمل check لل checkbox في تلك ال usercontrols.
للتوضيح : لناخذ الصورة المرفقة في الأعلى :
عند الضغط على موافق (إضافة الصنف - يجب تغير النص) يجب ان احصل على الاتي : Extra 1 - Extra 7
امل اني وضحت ما اريد.
للتوضيح : لناخذ الصورة المرفقة في الأعلى :
عند الضغط على موافق (إضافة الصنف - يجب تغير النص) يجب ان احصل على الاتي : Extra 1 - Extra 7
امل اني وضحت ما اريد.