![]() |
|
تحريك النافذة وهي في وضعية none ! - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : تحريك النافذة وهي في وضعية none ! (/showthread.php?tid=4949) |
تحريك النافذة وهي في وضعية none ! - RaggiTech - 03-10-12 كاتب الموضوع : عقرب الساعة
والصلاة والسلام على أشرف الأنبياء والمرسلين سيدنا محمد وعلى آله وصحبه أجميعين ومن تبعهم بإحسان إلى يوم الدين بسم الله الرحمن الرحيم حرصا من على مشاركة العلم لينتفع به جميع إخواني في المنتدى وغيره فأضع لكم هذا الموضوع وإن كان ليس بجديد أو كان بسيط . الموضوع عبارة عن تحريك النافذة وهو في وضعية none ولمن لايعرف هذه صورته وهو في هذه الوضعية نعم هذه الوضعية جميلة ولكن من عيوبها أنك لا تستطيع تحريك النافذة ولا حتى تكبيرها بإستخدام الحواف ولكن بإذن الله بعد متابعة الموضوع ستستطيع تكبيرها وأيضا تحريها ! وسنعوض أزرار التكبير والتصغير والإغلاق لتسطيع الإبداع في الشريط وعمل ماتسطيع مثالنا البسيط سيكون بعد تصميمه كالتالي
ملاحظة سيأتي في الشرح تغيير خصائص بعض الأدوات مالم أذكره لا تغير فيه أي أجعله قيمته الإفتراضية
طبعا أنا هنا جعلت المثال عند تحريكه تسحب النافذة بإمكانكم جعل التحريك كما في windows من شريط الإغلاق ولكني فضلت في المثال جعله في النافذة كاملة قبل أن نبدأ سنصمم مايلي يمكنك تحريك النافذة يمكنك تكبير النافذة من الأطراف سنصمم شريط الإغلاق والتكبير والتصغير بأنفسنا بسم الله نبدأ أولا غير خصائص form1 إلى مايلي : خاصية text إلى ماتريد خاصية FormBorderStyle إلى none ثانيا: أضف 2 من أداة timer (timer1,timer2) غير من خصائص timer1 خاصية Interval أجعلها 1 أضف أداة panel وأجعلها في أخر النافذة "form" كما في الصورة التالية وغير من خصائصها خاصية BackColor أجعلها Transparent خاصية Anchor أجعلها في اليمين والأسفل خاصية Cursor أجعلها SizeNWSE هل عرفت من شكلها لماذا غيرناها ؟ أضف ثلاثة أزرار "button" (button1,button2,button3") ويغر حجمهم كما تريد حسب الصورة التي ستضعها لكل منهم وغير من خصائصهم جميعا مايلي خاصية text أجعلها فارغة خاصية FlatStyle أجعلها Popup
خاصية BackgroundImageLayout أجعلها Stretch لتملئ الصورة الزر
خاصية BackgroundImage أختر ماتريد خاصية Anchor أجعلها في الأعلى واليمين [SIZE=2] [/SIZE]أنا أختر هذه الصور لتمثيل الأزرار الأن في زر الإغلاق ضع الكود التالي كود : [color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]Close[/color][COLOR=#007700]() في زر التكبير والإعادة إلى وضع الإفتراضي كود : [color=#000000][COLOR=#0000bb][/color][color=#007700]If [/color][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]WindowState [/color][color=#007700]= [/color][color=#0000bb]FormWindowState[/color][color=#007700].[/color][COLOR=#0000bb]Normal Thenفي زر التصغير إلى شريط المهام كود : [color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]WindowState [/color][color=#007700]= [/color][color=#0000bb]FormWindowState[/color][color=#007700].[/color][COLOR=#0000bb]Minimized ثالثا: نأتي إلى الأكواد عند الضغط على النافذة مرتين أعلى صفحة الأكواد ستجد عبارة كود : [color=#000000][COLOR=#0000bb][/color][color=#007700]Public Class [/color][COLOR=#0000bb]Form1 بعدها أكتب الكود التالي كود : [color=#000000][COLOR=#0000bb]Dim move1 [/color][color=#007700]As New [/color][color=#0000bb]Point[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]0[/color][COLOR=#007700])ثم ضع السطر التالي كود : [color=#000000][COLOR=#0000bb][/color][color=#007700]Private [/color][color=#0000bb]Sub si[/color][COLOR=#007700]()ثم ضع السطر التالي كود : [color=#000000][COLOR=#0000bb][/color][color=#007700]Private [/color][color=#0000bb]Sub mov[/color][COLOR=#007700]()لتصبح الأكواد كما في الصورة التالية الأن في timer1 ضع الكود التالي كود : [color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]Location [/color][color=#007700]= [/color][color=#0000bb]move1 [/color][color=#007700]- [/color][color=#0000bb]move2 [/color][color=#007700]+ [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]Cursor[/color][color=#007700].[/color][COLOR=#0000bb]Positionفي timer2 ضع الكود التالي كود : [color=#000000][COLOR=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]Size [/color][color=#007700]= [/color][color=#0000bb]size2 [/color][color=#007700]- [/color][color=#0000bb]size1 [/color][color=#007700]+ [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]Cursor[/color][color=#007700].[/color][COLOR=#0000bb]Positionالأن في form1 في حدث MouseDown ضع الكود التالي كود : [color=#000000][COLOR=#0000bb]Timer1[/color][color=#007700].[/color][color=#0000bb]Start[/color][COLOR=#007700]()في form1 في حدث Mouseup ضع الكود التالي كود : [color=#000000][COLOR=#0000bb]Timer1[/color][color=#007700].[/color][color=#0000bb]Stop[/color][COLOR=#007700]()في أدا ةpanel1 في حدث MouseDown ضع الكود التالي كود : [color=#000000][COLOR=#0000bb]Timer2[/color][color=#007700].[/color][color=#0000bb]Start[/color][COLOR=#007700]()في أداة panel1 في حدث Mouseup ضع الكود التالي كود : [color=#000000][COLOR=#0000bb]Timer2[/color][color=#007700].[/color][color=#0000bb]Stop[/color][COLOR=#007700]()الأن إذا أردنا مثلا وضع أداة panel وجعلها هي عنصر تحريك النافذة (form) فقط ضع أكواد MouseDown في form1 في نفس الحدث في الأداة التي تريدها ونفس الشيئ في حدث Mouseup للأداة المثال ب2008 و2010 لمشاهدة فيديو الشرح أضغط هنا الأن لتحميل المثال بvb2010 فضلا أضغط هنا لتحميل المثال بvb2008 فضلا أضغط هنا تحياتي لكم وأدعوا لي بالتوفيق |