منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : فتح الفورم مره واحدة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته

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

اتمنى ان يكون سؤالي واضح بارك الله فيكم
(24-02-20, 10:41 AM)alshandodi كتب : [ -> ]
السلام عليكم ورحمة الله وبركاته

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

اتمنى ان يكون سؤالي واضح بارك الله فيكم

افتح الفورم بـ ShowDialog
لم اقصد هكذا اخي مثال انا فتحت شاشه المنتجات وأتى زبون اخر وأريد عمل فاتوره دون الخروج من من شاشه المنتجات وانما اقوم لتصغير الشاشه
(24-02-20, 12:47 PM)alshandodi كتب : [ -> ]لم اقصد هكذا اخي مثال انا فتحت شاشه المنتجات وأتى زبون اخر وأريد عمل فاتوره دون الخروج من من شاشه المنتجات وانما اقوم لتصغير الشاشه

لم افهم

Show تجعلك تستطيع فتح الفورم اكثر من مره

هل تستخدم MDIParent كفورم رئيسي؟
(24-02-20, 12:56 PM)alsalamoni كتب : [ -> ]
(24-02-20, 12:47 PM)alshandodi كتب : [ -> ]لم اقصد هكذا اخي مثال انا فتحت شاشه المنتجات وأتى زبون اخر وأريد عمل فاتوره دون الخروج من من شاشه المنتجات وانما اقوم لتصغير الشاشه

لم افهم

Show تجعلك تستطيع فتح الفورم اكثر من مره

هل تستخدم MDIParent كفورم رئيسي؟

نعم اخي استخدم MDIPARENT
(24-02-20, 01:02 PM)alshandodi كتب : [ -> ]
(24-02-20, 12:56 PM)alsalamoni كتب : [ -> ]
(24-02-20, 12:47 PM)alshandodi كتب : [ -> ]لم اقصد هكذا اخي مثال انا فتحت شاشه المنتجات وأتى زبون اخر وأريد عمل فاتوره دون الخروج من من شاشه المنتجات وانما اقوم لتصغير الشاشه

لم افهم

Show تجعلك تستطيع فتح الفورم اكثر من مره

هل تستخدم MDIParent كفورم رئيسي؟

نعم اخي استخدم MDIPARENT

هل تقصد عدم فتح فورم محدده اكثر من مره مثل شاشة المنتجات
في حين تستطيع فتح فاتورة اكثر من مره؟
نعم بالظبط هكذا اخي المقصد

كود :
If My.Settings.FRM2 = 1 Then
           Exit Sub
       Else
           Dim frm As New Form2
           frm.MdiParent = Me
           frm.Show()
           Me.LayoutMdi(MdiLayout.TileVertical)
           My.Settings.FRM2 = 1
           My.Settings.Save()
       End If

وجدت هذا الحل ولكن لا اريد زحمة في SETTINGS 

وعند اغلاق الفورم 

كود :
ME.CLOSE
 My.Settings.FRM2 = 0
       My.Settings.Save()
(24-02-20, 01:10 PM)alshandodi كتب : [ -> ]نعم بالظبط هكذا اخي المقصد

ضع بدلا من Form2 اسم شاشة المنتجات
كود :
If Application.OpenForms.Cast(Of Form).OfType(Of Form2)().Count = 0 Then
    Dim frm As New Form2
    frm.MdiParent = Me
    frm.Show()
Else
    Application.OpenForms.Cast(Of Form).OfType(Of Form2)()(0).WindowState = FormWindowState.Normal
    Application.OpenForms.Cast(Of Form).OfType(Of Form2)()(0).Activate()
End If

هل هذا الكود قام بما تريد؟

تم تحسين الكود
تنشيط شاشة المنتجات اذا كانت مفتوحة في حالة محاولة فتحها اكثر من مرة
شكرا جزيلا أخي وبارك الله فيك لقد نجح الكود والحمد لله وهذا بفضل الله ثم بفضلك

وفضل جميع الأخوه جعلكم الله ذخرا لهذا المنتدى الرائع

هل يمكن عمله في موديل واستخدامه بسهوله 
(24-02-20, 01:45 PM)alshandodi كتب : [ -> ]شكرا جزيلا أخي وبارك الله فيك لقد نجح الكود والحمد لله وهذا بفضل الله ثم بفضلك

وفضل جميع الأخوه جعلكم الله ذخرا لهذا المنتدى الرائع

هل يمكن عمله في موديل واستخدامه بسهوله 

العفو اخي

تم تحسين الكود
اعادة تكبير شاشة المنتجات إذا كانت في وضع التصغير
الصفحات : 1 2