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

نسخة كاملة : حل مشكلة برنامج لتغير التاريخ
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
مرحبا بكم جميعا
وانا اصنع في برنامجي واجهتني مشكلة وهي انني قمت بعمل برنامج لتغير التاريخ
وجعلت اداة تغير التاريخ في فورم اخر (ليس الفورم الرئيسي للبرنامج ) والمشكلة هنا

PHP كود :
  Private Sub form1_FormClosing(ByVal sender As ObjectByVal e As FormClosingEventArgsHandles MyBase.FormClosing
        ChangeDate
(curr.ToString)
 
   End Sub 
طبعا عندما افتح الفورم الثاني يقوم بتخزين تاريخ فتح الفورم الثاني وبعد قفل الفورم يقوم بارجاع التاريخ الي تاريخ الفتح
والمشكلة تكمن هنا انا اريد عندما يغلق البرنامج باكمله يقوم بتنفيذ هذا الكود وليس بعد اغلاق فورم معين
السلام عليكم

إذا أردت أن يتم تنفيذ كود بعد اغلاق البرنامج بشكل نهائي عليك بعمل برنامج مشغل للبرنامج الأساسي وهو الذي ستقوم بتشغيله وليس الأساسي،

وعند اغلاق البرنامج الأساسي بشكل نهائي يقوم البرنامج المشغل للبرنامج الأساسي بتنفيذ ما تريد،

وهذا الكود على سبيل المثال في البرنامج المشغل للبرنامج الأساسي.
كود :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
   Dim p As Process = New Process()
   p.StartInfo.FileName = "C:\project.exe"
   p.Start()
   p.WaitForExit() ' الانتظار حتى يتم اغلاق البرنامج الذي قام هذا الكود بتشغيله
   MsgBox("نفذ ما تريد")
End Sub
لا اخي ليس هكذا انا اريد تنفيذ كود ولكن الكود لايعمل الا في الفورم الغير رئيسي واريد الكود اي يعمل في الفورم الرئيسي
جرب استخدام حدث اغلاق المشروع Shutdown،

وللوصول له من خلال نافذة خصائص المشروع تجد في الأسفل View Application Events كما في الصورة


ثم تجعل الكود شبيه بهذا الكود
كود :
Namespace My

   Partial Friend Class MyApplication


       Private Sub MyApplication_Shutdown(sender As Object, e As System.EventArgs) Handles Me.Shutdown

           MsgBox("نفذ ما تريد")

       End Sub


   End Class

End Namespace
لم اعرف كيف استعمل الكود الخاص بك لكن شكرا علي كل الاحوال وجدت طريقة بسيطة وهي
وضع اداة timer في الفورم الثاني ووضع الكود الذي نريده ان يعمل
ثم نذهب للفورم الرئيسي وتحديدا في حدث الاغلاق ونقوم بكتابة " اسم الفورم الثاني + timer1 .start
وهكذا سيعمل الكود
(16-02-17, 03:19 PM)عبدالرحمن المكاوي كتب : [ -> ]والمشكلة تكمن هنا انا اريد عندما يغلق البرنامج باكمله يقوم بتنفيذ هذا الكود وليس بعد اغلاق فورم معين

راجع كلامك (انا اريد عندما يغلق البرنامج باكمله يقوم بتنفيذ هذا الكود وليس بعد اغلاق فورم معين)

هدانا الله وإياك.
استخدم حدث closing فى الفورم