تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة في إغلاق فورم بخاصية ShowDialog
#1
السلام عليكم

لوتكرمتم اخواني الأفاضل لدي مشكلة في عدم تمكني من ايجاد حل لإغلاق أو إخفاء فورم فرعي منبثق من فورم رئيسي وذلك لإظهار الفورم الرئيسي في الواجهة
وللتوضيح أكثر يوجد في المرفق مثال بسيط

مع شكري وتقديري


الملفات المرفقة
.rar   WinApp1.rar (الحجم : 68.45 ك ب / التحميلات : 44)
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله

ممكن تغلق عن طريق حرف X للفورم أو إذا كان عن طريق Button تكتب Me.Close
Me.Dispose ليس لها داعي
لإغلاق المشروع أكتب Application.Exit
الرد }}}
تم الشكر بواسطة:
#3
شيل من الفورم الاول Form1
Me.Dispose()
وفي الفورم الثاني في حدث البتن كلك
me.close()
بس
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: abuzzouz
#4
(05-10-15, 12:50 PM)abuzzouz كتب : السلام عليكم

لوتكرمتم اخواني الأفاضل لدي مشكلة في عدم تمكني من ايجاد حل لإغلاق أو إخفاء فورم فرعي منبثق من فورم رئيسي وذلك لإظهار الفورم الرئيسي في الواجهة
وللتوضيح أكثر يوجد في المرفق مثال بسيط

مع شكري وتقديري

طريقتك مع الكود سببت لك المشكله الاخوان افادوك
الحمد لله رب العالمين على كل شي
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم

شكراً جزيلاً أخواني الأعزاء مهموم، أبو عمر و hassan على مروركم الكريم جزاكم الله خيراً
إلا أن الحل الذي ذكرته أخي أبو عمر مع أنه حل بسيط وجميل إلا أنه لايفي بالغرض حيث أن الهدف هو التالي:
  1. عند تشغيل البرنامج وفي حال وجود شروط مسبقة يظهر الفورم الفرعي أولاً دون ظهور للفورم الرئيسي لذلك استخدمت Dispose
  2. كتابة بيانات معينة في الفورم الفرعي (للعلم هذه البيانات ليست اسم مستخدم وكلمة مرور)
  3. إذا كانت البيانات المدخلة صحيحة يظهر الفورم الرئيسي بالضغط على الزر Button1 في الفورم الفرعي مع اختفاء او إغلاق الفورم الفرعي
  4. وفي حال عدم صحة البيانات المدخلة لا يظهر الفورم الرئيسي أبداً ويتم إغلاق الفورم الفرعي بالضغط على X
عذرا إذا كنت لم أستطع توضيح ذلك من خلال المثال البسيط المرفق سابقاً علماً أن هذه المشكلة ظهرت لدي بعد الانتهاء من بناء البرنامج للأسف
فهل يوجد حل لذلك إخواني الأكارم غير الحلول الترميمية (إذا صح التعبير) مثل وضع الفورم الفرعي جانب الشاشة Me.left=16500 فهذا حل غير فني برأيي
ولكم مني جزيل الشكر والتقدير
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#6
السلام عليكم ورحمة الله وبركاته

الآخ الكريم

استخدامك للأمر Dispose قام بحذف الفورم من الذاكرة، وعند العودة من الفورم الفرعي حصل الخطأ.

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

في Form1
PHP كود :
Public Class Form1

    
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        
If Form2.ShowDialog <> Windows.Forms.DialogResult.Yes Then
            MessageBox
.Show("إسم المستخدم أو كلمة المرور غير صحيحة")
            
Application.Exit()
        
End If
    
End Sub

End 
Class 

في Form2
PHP كود :
Public Class Form2

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        
If TextBox1.Text "admin" And TextBox2.Text "123" Then
            DialogResult 
Windows.Forms.DialogResult.Yes
        
Else
            
DialogResult Windows.Forms.DialogResult.No
        End 
If
    
End Sub

End 
Class 
الرد }}}
تم الشكر بواسطة: abuzzouz
#7
شكرا جزيلا لاهتمامك أخي العزيز مهموم لكن الموضوع لايتعلق باسم مستخدم وكلمة مرور كما أوضحت آنفاً

ربما إني بحاجة إلى كود يعيد تشغيل البرنامج من جديد في حال كانت البيانات المدخلة في الفورم الفرعي صحيحة في هذه الحالة فقط يتم ظهور الفورم الرئيسي بدون ظهور الفرعي
سوف أنظر في ذلك الحل وأنتظر ردودكم القيمة لعلي أحصل على المطلوب

تقبل تحياتي
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم ورحمة الله وبركاته

الآخ الكريم

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

تقبّل نقدي
الرد }}}
تم الشكر بواسطة:
#9
عذرا أخي الغالي مهموم لم أقصد ما تفضلت به لكن صدقا الفكرة بعيدة تماماً عن فورم كلمة مرور حيث انني جربت طرق كثيرة

لا تزعل مني أخي الكريم وآسف مرة أخرى
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#10
السلام عليكم

أخواني الأفاضل تم بحمد الله التوصل إلى الحل والذي يقوم على مبدأ إعادة تشغيل البرنامج في حال ادخال بيانات صحيحة وبالتالي سيتم إغلاق الفورم الفرعي ويبدأ من جديد اختبار وجود البيانات حيث في حال وجودها سوف يقوم تلقائيا بفتح الفورم الرئيسي

في المرفق تطبيق الحل (مع العلم أن النتيجة ستبدو للوهلة الأولى غير واضحة نظراً لبساطة هذا المثال)

وشكراً لكم جميعا أخواني
دمتم بخير


الملفات المرفقة
.rar   WinApp1.rar (الحجم : 69.07 ك ب / التحميلات : 53)
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم