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

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

اريد عن محاولة الوصول الى الفورم الاول بدل ما ينبهك ان الفورم الثانى مفتوح اريده يقوم بغلق الفورم الثانى
وجزاكم الله خيرا
و عليكم السلام و رحمة الله
أعتقد يوجد أكثر من طريقة للقيام بذلك
هذا الكود يمكنك من التعامل مع الفورم الأول و الثاني بالتناوب يعني إذا ظهر الأول يختفي الثاني و العكس صحيح فقط قم بإضافة أداة "CheckBox1" لكلا الفورمين
هذا في الفورم الاول:
كود :
Public Class Form1

   Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
       If CheckBox1.Checked = True Then
           Form2.Show()
           Form2.CheckBox1.Checked = False
           Me.Hide()
       Else
           Form2.Hide()
           Me.Show()
       End If
   End Sub

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       CheckBox1.Checked = False
   End Sub
End Class


و هذا في الفورم 2:
كود :
Public Class Form2

   Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
       If CheckBox1.Checked = True Then
           Form1.Show()
           Form1.CheckBox1.Checked = False
           Me.Hide()
       Else
       End If
   End Sub
End Class


بالتوفيق أخي الكريم
ليس هذا ما اقصد انظر ماذا اقصد عملتلك فيديو
عند عرض الفورم 2 كرسالة لايمكنك الوصول للفورم 1 اريد عند الضغط على الفورم 1 يتم اغلاق الفورم 2

h
[youtube]EltwArW_X6Q[/youtube]
(16-09-13, 10:12 PM)ali.alfoly كتب : [ -> ]ليس هذا ما اقصد انظر ماذا اقصد عملتلك فيديو
عند عرض الفورم 2 كرسالة لايمكنك الوصول للفورم 1 اريد عند الضغط على الفورم 1 يتم اغلاق الفورم 2

h
[youtube]EltwArW_X6Q[/youtube]
إذا كنت فهمت قصدك و الله اعلم
قم بتغير "Form2.ShowDialog" بـ "Form2.Show"
جرب هذه الطريقة حلوة

كود :
Public Class Form1
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Me.Visible = False
       Form2.ShowDialog()
   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Form2.f1 = Me
   End Sub

   Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
       Form2.Close()
   End Sub
End Class
كود :
Public Class Form2
   Public Property f1 As Form1
   Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       f1.Visible = True
       Me.Visible = False
   End Sub

End Class
جزاك الله خيرا على تعبك معى
ليس هذا ما اقصد 
انا اقصد
عند الضغط على الفورم رقم واحد ستجد الفورم رقم 2 يضى ويطفى مثل المصباح ويهتز دلالات على انه مفتوح اليس كذلك
انا اريد عند الضغط على الفورم رقم واحد يغلق الفورم رقم 2
تستطيع تعطيل الخاصية بوضع هذا الكود في حدث   Form2_MouseClick   اي عند ضغط المستخدم في اي مكان  Form2_Load  تتعطل الخاصية 

كود :
Form1.ShowInTaskbar = False
هل هذا قصدك
Public Class Form1

    Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
        Form2.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form2.Show()
    End Sub
End Class
في الوضع العادي لا يمكن الا اذا واحد يبنيء فورم جديد بخصائص اضافية فممكنSmile
اخي الكريم بدل من استخدام  Form2.Showdailog   وهي  مثل ما قلت لن تتمكن من الوصول للفروم الاول الا بعد غلق الفورم الثاني

استخدم Form2.Show    فقط  ويمكنك الوصول الى الفورم الاول بدون ان ينبهك الى ان الفورم الثاني مفتوح وعند الضغط  على الفورم الاول يغلق الفورم الثاني
وضع كود اغلاق الفورم الثاني في حدث   Form1_mouseclick

form2.close
 والسلام عليكم ورحمة الله وبركاته..
الصفحات : 1 2