[مقال] التعامل مع النوافذ في تقنية WPF - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4) +--- قسم : قسم البرمجة بتقنية WPF (http://vb4arb.com/vb/forumdisplay.php?fid=86) +--- الموضوع : [مقال] التعامل مع النوافذ في تقنية WPF (/showthread.php?tid=11615) |
التعامل مع النوافذ في تقنية WPF - السندبااد - 06-03-15 بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
التعامل مع النوافذ في تقنية WPF
تختلف طريقة التعامل مع النوافذ في تقنية WPF عما كان معتاداً في فيجوال بيسك 6 أو فيجوال دوت نت ، وسنشرح من خلال هذا الدرس كيف سنقوم بفتح نافذة ما ، وسنتطرق لكيفية إغلاق النافذة النشطة الحالية ، أو إغلاق نافذة من خلال نافذة أخرى :
أولاً : فتح نافذة : لنفرض أن عندي نافذة باسم WindAbout وأريد استدعاءها من خلال زر ما ، أقوم بما يلي : أضع بداية متغيراً لتعريف النافذة وليكن : PHP كود : Dim window As New WindAbout PHP كود : window.Owner = Me PHP كود : window.ShowDialog المسألة بسيطة جداً ويكفي هذا الكود الصغير : PHP كود : Me.Close أفضل طريقة هي أن نقوم بإنشاء حلقة لكل النوافذة في البرنامج ثم ومن خلال الحلقة نغلق النافذة التي نريدها ، ولنفرض في البرنامج لدي نافذة مفتوحة باسم WinChKWinner وأريد أن أغلقها من خلال نافذة أخرى فأقوم بإنشاء هذه الحلقة :
PHP كود : For Each win In Application.Current.Windows
لا أستغني عن ملاحظاتكم وتعقيباتكم
تحياتي لكم ولا تنسونا من دعاءكم RE: التعامل مع النوافذ في تقنية WPF - Fantastico - 03-06-15 dim window as new windAbout or dim windAbout as new window RE: التعامل مع النوافذ في تقنية WPF - السندبااد - 04-06-15 (03-06-15, 01:09 AM)Fantastico كتب : dim window as new windAbout السلام عليكم
المتغير لك حرية الاختيار بتسميته ولكن الوصف يجب أن يكون باسم النافذة لذلك الاصح : إقتباس :dim window as new windAbout RE: التعامل مع النوافذ في تقنية WPF - أبو عمر - 27-09-15 اشكرك كثيرا استاذ السندباد الخاصية Name لم تفلح معي في اغلاق النافذة الاخرى من خلال نافذة مفتوحة ولكن title ضبط #C private void button1_Click(object sender, RoutedEventArgs e) { foreach (Window win in Application.Current.Windows) { if (win.Title == "Window1") { win.Close(); } } } VB Private Sub button1_Click(sender As Object, e As RoutedEventArgs) For Each win As Window In Application.Current.Windows If win.Title = "Window1" Then win.Close() End If Next End Sub |