منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] ازى اضغط على زر في فورم اول ما يفتح - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : [سؤال] ازى اضغط على زر في فورم اول ما يفتح (/showthread.php?tid=40758)

الصفحات: 1 2


ازى اضغط على زر في فورم اول ما يفتح - mazentq - 15-02-22

السلام عليكم ورحمة الله وبركاته 
فى البرنامج عندى تنبية بيظهر للمستخدم اول ما يفتح البرنامج لو فىه منتجات عنده انتهت الصلاحية بتظهر رسالة تنبية زى كده



فى حالة المستخدم ضغط yes هيفتح معه الشاشة بتعت المنتاجات الى انتهت صلاحيتها خلال الاسبوع 
يفتح الشاشة دى


هنا فيه 3 خيارات انه يشوف الى انتهاء اليوم او الى هينتهى خلال الاسبوع الحالى او الى هينتهى خلال الشهر الحالى 
فانا عاوز اول ما يضغط yes واثناء ما الشاشة دى تفتح يتم الضغط تلقائي على الزر بتاع (هذا الاسبوع) بحيث يعرض الاسبوع الحالى بس 
الكود الى استخدمته 

كود :
 Database db001 = new Database();
           DataTable tbl001 = new DataTable();
           string d501 = DateTime.Today.ToString("dd/MM/yyyy");
           tbl001.Clear();
           tbl001 = db001.readData("SELECT [Process_ID] as 'رقم العملية',[Order_ID] as 'رقم فاتورة الشراء',[Pro_Name] as 'إسم المنتج',[Barcode] as 'باركود',[Qty] as 'الكمية التى تم شراءها',[Unit_Name] as 'الوحدة',[Sup_Name] as 'المورد',[Date] as 'تاريخ الشراء',[date_from]as 'تاريخ الإنتاج',[date_to] as 'تاريخ الإنتهاء'from Products_expiration where CONVERT(date,Products_expiration.date_to, 103) >= dateadd(day, 1-datepart(dw, getdate()) , CONVERT(date,getdate()))  AND CONVERT(date,Products_expiration.date_to, 103) <  dateadd(day, 8-datepart(dw, getdate()), CONVERT(date,getdate()))", "");
           if (tbl001.Rows.Count >= 1)
           {
               if (XtraMessageBox.Show("لديك منتجات ستنتهى مدة صلاحيتها خلال هذا الإسبوع هل تريد الإطلاع عليها", "تاكيد", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
               {
                   Frm_ProductsExpiration frm = new Frm_ProductsExpiration();
                   frm.ShowDialog();
                   frm.simpleButton1.PerformClick();


               }
           }

المفروض هنا بيفتح الشاشة لما يضغط yes  بس مش بينفذ الكود ده  

كود :
frm.simpleButton1.PerformClick();


بتاع الضغط على الزر وللاسف دورت كتير ومش لاقى حل

وشكرا


RE: ازى اضغط على زر في فورم اول ما يفتح - ابراهيم ايبو - 15-02-22

السلام عليكم ورحمة الله وبركاته
اخي الكريم ضع كود الضغط على البوتون في حدث تحميل الفورم التي تحتوي على زر هذا الاسبوع وليس في الفورم الاولى

كود :
simpleButton1.PerformClick();



RE: ازى اضغط على زر في فورم اول ما يفتح - mazentq - 16-02-22

(15-02-22, 11:45 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم ضع كود الضغط على البوتون في حدث تحميل الفورم التي تحتوي على زر هذا الاسبوع وليس في الفورم الاولى

كود :
simpleButton1.PerformClick();

الف شكر اخي علي الرد والاهتمام 
بس ان عاوز ده يتم بناء علي الرسالة نفسها لان ان عندي ممكن يجي تنبيه بالمنتاجات الي انتهت اليوم وسعات يكون التنبية للمنتاجات الي هتنتهي خلال الاسبوع الحالى او خلال الشهر فعلى حسب نوع الرسالة لما المستخدم يضغط yes فيتم فتح الفورم مع الضغط علي الزر المراد سواء يوم او اسبوع او الشهر


RE: ازى اضغط على زر في فورم اول ما يفتح - ابراهيم ايبو - 16-02-22

السلام عليكم
اخي الكريم
شغلنا البرنامج فظهرت الرسالة وعند Yes سوف يتم فتح فورم  هذه الفورم فيها زر هذا الاسبوع في حدث تحميل هذه الفورم نضع كود الضغط على الزر


RE: ازى اضغط على زر في فورم اول ما يفتح - mazentq - 17-02-22

(16-02-22, 01:27 AM)ابراهيم ايبو كتب : السلام عليكم
اخي الكريم
شغلنا البرنامج فظهرت الرسالة وعند Yes سوف يتم فتح فورم  هذه الفورم فيها زر هذا الاسبوع في حدث تحميل هذه الفورم نضع كود الضغط على الزر

تمام يا اخى الطريقة شغالة تمام لما بحط الكود فى حدث تحميل الفورم 
بس ان عاوز ده يتم بناء على الرسالة نفسها الي هتظهر للمستخدم يعني لو ظهر للمستخدم منتجات اليوم يتم الظعط على زر منتجات اليوم اول ما الفورم تفتح ولو كانت الاسبوع يتم الضغط على الاسبوع اول ما الفورم تفتح ولو كانت  الشهر يتم الضغط على الشهر اول ما الفورم تفتح يعنى مش مقتصرة بس على الاسبوع


RE: ازى اضغط على زر في فورم اول ما يفتح - ابراهيم ايبو - 17-02-22

السلام عليكم ورحمة الله وبركاته
اخي الكريم 
انت تريد عمل ثلاث جمل استعلام واحدة لانتهاء السلع باليوم والثانية بعد أسبوع والأخيرة بعد شهر
حسب طريقتك لا يمكن تنفيذ هذه الاستعلامات !!! لماذا؟
انت ستعمل جملة شرطية فيها 3 حالات سيتم التحقق اولا من السلع اليومية ثم الاسبوعية ثم الشهرية
فأن تحقق الشرط الاول سيتم اهمال بقية الشروط ولن يتم تنفيذ اي منها
لا حظ لو ان لدينا مواد ستنتهي هذا اليوم ومواد أخرى ستنتهي بعد اسبوع وأخرى بعد شهر كيف سيتم تنفيذ الكود؟
لو افترضنا ان لديك في كل يوم سلعة ستنتهي وبناء على ذلك سيتم تنفيذ هذا الاستعلام دوما ولن يتم تنفيذ شرطي الاستعلام الثاني او الثالث حتى ولو كان فيهما سلع ستنتهي بعد أسبوع او بعد شهر
ولو افترضنا ان هذا اليوم لا يوجد فيه سلع ستنتهي إذا سيتم تنفيذ شرط الاستعلام الثاني حسب تسلسل كود الاستعلامات ولن يتم تنفيذ الاستعلام الثالث  حتى ولو كان فيه منتجات ستنتهي بعد شهر 
أما لو لم يكن لديك منتجات ستنتهي اليوم او بعد اسبوع عندها سيتم تنفيذ الاستعلام الشهري
على ماسبق لايمكن عمل ذلك فأنت تعلم أن البرمجة تنفذ على التسلسل وليست على التوازي وعبر المقارنات يتم التخطي والتحكم بالأكواد 
الان اعمل لنفسك فنجانا من القهوة وفكر جيدا ماذا تريد ... لأنه لايمكن عرض الثلاث حالات  معا من خلال 3 استعلامات منفصلة ويمكن تصادف ان في كل حالة لدينا منتجات منتهة الصلاحية
أتمنى ان اكون قد وضحت لك الامر


RE: ازى اضغط على زر في فورم اول ما يفتح - wsalem - 17-02-22

جرب تجعل سطر ShowDialog بعد سطر PerformClick


RE: ازى اضغط على زر في فورم اول ما يفتح - mazentq - 17-02-22

تمام الف شكر ان لقيت لحل خلاص هو ان اغير 
frm.ShowDialog();
الى
frm.Show();


RE: ازى اضغط على زر في فورم اول ما يفتح - wsalem - 17-02-22

(17-02-22, 09:40 PM)mazentq كتب : تمام الف شكر ان لقيت لحل خلاص هو ان اغير 
frm.ShowDialog();
الى
frm.Show();

لو جربت مشاركتي

لان show عيبها تجعل المستخدم يقدر يستخدم الشاشة اللي قبلها وهذي مفتوحه

لكن الحل اللي يناسبك


RE: ازى اضغط على زر في فورم اول ما يفتح - mazentq - 17-02-22

(17-02-22, 09:50 PM)wsalem كتب :
(17-02-22, 09:40 PM)mazentq كتب : تمام الف شكر ان لقيت لحل خلاص هو ان اغير 
frm.ShowDialog();
الى
frm.Show();

لو جربت مشاركتي

لان show عيبها تجعل المستخدم يقدر يستخدم الشاشة اللي قبلها وهذي مفتوحه

لكن الحل اللي يناسبك

ما ان عارف المشكلة دي للاسف بس ان ممكن اريح دماغي اكتر واقتصر بس علي ظهور التنبية للمستخدم وهو يخش بقي يخار برحته اليوم او الاسبوع او الشهر