الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

فنون تصميم الفورم

مغلق
بدأه seahmad في 8 فبراير 2005 · 36 رد · 14,183 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الحمد لله والصلاة والسلام على رسول الله .. أما بعد

أقدم لكم الدرس الأول من سلسلة دروس "فنون تصميم الفورم" والتي تأخذ بيدك إلى

طرق إنتاج برامج بواجهات جميلة منظمة وسهلة الإستخدام تعكس صورة البرنامج وتطفي عليه نوع من الهدوء وتجعل المستخدم يستمتع باستخدامه.

وقد يسأل سائل لماذا اخترت هذا النوع من الدروس، فأقول أني رأيت من الناس من يصمم برامج كبيرة وقوية ولكنها تفتقد لكثير من الترتيب والإهتمام بالشكل واختيار الألوان المناسبة والمتناسقة وسهولة الإستخدام.

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

-------------------------------------------------------------

الدرس الأول:

سنتعلم في هذا الدرس كيفية تلوين الفورم بلون تدريجي

الخطوات:

1- أنشئ مشروع جديد وغير حجم Form1 الذي ينشئ بشكل تلقائي إلى (472; 416)

2- أكتب في حدث التحميل (Form1_Load) السطر التالي:

        Me.BackgroundImage = GetGraphicsObject(Me.Width, Me.Height)

يقوم هذا السطر بوضع صورة لخلفية الفورم يتم رسمها باستدعاء دالة الرسم (GetGraphics)

وهذه تعيد لنا صورة حجمها مماثل لحجم الفورم (لأننا أرفقنا في الإستدعاء متغيرين

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

3- أنشئ تحت حدث التحميل دالة الرسم (GetGraphics) كالتالي

    Public Function GetGraphicsObject(ByVal W As Int16, ByVal H As Int16) As Image

    End Function

واكتب فيها الأسطر التالية

        Dim bmp As Bitmap
        bmp = New Bitmap(W, H)
        Dim G As Graphics = Graphics.FromImage(bmp)
        Dim R As New RectangleF(0, 0, W, H)
        Dim startColor As Color = Color.LightSkyBlue 'يمكنك من هنا اختيار أي لون يبدأ التلوين به
        Dim EndColor As Color = Color.DarkBlue 'يمكنك من هنا اختيار أي لون ينتهي التلوين به
        Dim LGBrush As New System.Drawing.Drawing2D.LinearGradientBrush(R, startColor, EndColor, LinearGradientMode.Vertical)
        G.FillRectangle(LGBrush, New Rectangle(0, 0, W, H))
        Return bmp

سأترك لك فهم هذه الأسطر ... وأنا جاهز لأي أسئلة

ملاحظة : المشروع مرفق

First Class.zip

تم تعديل هذه المشاركة بواسطة seahmad في 8 فبراير 2005 في 12:26

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#2

شكرا أخوي seahmad على الدرس

فعلا موضوع إتقان تصميم الفورم والتنسيق موضوع مهم وجزاك الله خير

والدرس رائع والحمد لله زبط معي لكن...

أول شي ما استطعت تطبيق الدرس عشان في خطأ في الكود

لكن بعد ما اطلعت على المشروع المرفق ( تبعك )

عرفت انك نسيت تطلب منا إستيراد مساحة الأسماء :-

System.Drawing.Drawing2D

وهذا الكود لمن أراده .. يتم وضعه في أعلى نافذة البرمجة:-

Imports System.Drawing.Drawing2D

المهم الفكرة رائعة وبستفيد منها كثير شكرااااا

وللمعلومية هناك فكرة أخرى لعمل التدرج اللوني وهي :-

افتح برنامج من برامج الرسومات وتحرير الصور ( مثل الفوتوشوب ) وأنشيء صورة جديدة بنفس حجم الفورم تبعك ... بعدها اعمل تدرج لوني ( على حسب ذوقك ) عليها ثم أحفظها وأجعلها خلفية للفورم وذلك بتعديل خاصية BackgroundImage من نافذة الخصائص حقت الفورم.

ولكن طريقتك أعجتني

وبإنتظاار الدرس الثاني

محسن,,,

تم تعديل هذه المشاركة بواسطة Mohsen-F في 8 فبراير 2005 في 16:23

#3

شكرا لك ، فكرة رائعة و أتمنى أن تتواصل الدروس فيعود لك الفضل في ظهور مشروعي بشكل جميل :)

#4

مشكورين إخواني Mohsen-F و عبدالسميع

فعلا نسيت توضيح استيراد هذا الفضاء في بداية المشروع

Imports System.Drawing.Drawing2D

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

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

Dim LGBrush As New System.Drawing.Drawing2D.LinearGradientBrush(R, startColor, EndColor, LinearGradientMode.Vertical)

post-62-1107873901_thumb.jpg

تم تعديل هذه المشاركة بواسطة seahmad في 8 فبراير 2005 في 18:01

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#7

طيب انا اذا حملت الملف وفتحته متيفتح معي

يقول الاصداار غير انا استخدم فيجوال بيسك دوت نت !! اجل ليه مافتح معي ؟؟

#8

الأخ قهمرهم كلهم

البرنامج مصمم باستخدام VB.Net 2003 وإذا كان الإصدار عندك 2002 فلا أعلم إن كان يمكن فتحه أم لا. ولكن أعتقد أنه بسيط ويمكنك تصميمه بنفسك بسهولة ولكن لا تنسى استيراد هذا الفضاء في بداية المشروع :

Imports System.Drawing.Drawing2D

وشكرا للإخوة

khabini.net

البارودي

تم تعديل هذه المشاركة بواسطة seahmad في 14 فبراير 2005 في 17:48

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#10

لفتح الملف الذي أرفقه الأخ seahmad في vb2002 إذهب إلى الرابط التالي /index.php?showtopic=58026 لتعرف الطريقة.

#11

آسف!! نسيت أن أشكرك أخي seahmad، فموضوعك جميل جداً وسأستفيد منه كثيراً لأني أحب الاهتمام بالناحية الجمالية والفنية للبرامج التي أطوراها.

#12

الف شكر اخوي

#13

حياكم الله

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#14

الله يقويك

و مشكور على الدروس القيمة

وفوق كل ذي علم عليم

http://www.leaderstechnology.com

-------------------------------

#15

جزاك الله كل خير

#16

السلام عليكم ورحمة الله وبركاته

بجد سلسلة الدروس ممتازة بالفعل

وجزاكم الله خيرا

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#17

فموضوعك جميل جداً وسأستفيد منه كثيراً لأني أحب الاهتمام بالناحية الجمالية والفنية للبرامج

#18

بارك الله فيك

ورحم الله والديك

#19

ياريت يأخ eahmad توضح لي ما المقصود بدالة الرسم (GetGraphics) لني محتاجة لتجميل الفورم في مشروعي :D

#20

الدالة هدفها رسم مربع ملون وتحويله إلى صورة وإسناد هذه الصورة إلى خاصية خلفية الفورم Background image

ولاستخدامها في أي مشروع كل ماعليك هو نسخها ضمن الكود ومن ثم استدعائها في حدث تحميل الفورم المحدد وتحديد طول وعرض الفورم ضمن الاستدعاء حتى يتم رسم مربع بحجمه ،

Me.BackgroundImage = GetGraphicsObject(Me.Width, Me.Height)

لاحظي أننا أرفقنا طول وعرض الفورم بواسطة الخاصيتين Width و Height وكان ممكن أن نضع أرقام ولكن للسهولة

هل ماسبق كافياًَ أم تريدين تفاصيل أدق؟

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#21

السلام عليكم أخيseahmad أشكرك شكراً جزيلاً والله يجزيك ألف خيييييييييييييير

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

وأنا حاولت أحمل البرنامج قبل ما أنزل الفجول بيسك 2003 بس ما اشتغل لأنه عندي 2002 ولكن لما حملت 2003 شفت المثال وطبقته وكان رائع فعلاً............ الله يعطيك العافية .

#22

وإياك .. العفو.. بالتوفيق

تم تعديل هذه المشاركة بواسطة seahmad في 11 نوفمبر 2005 في 03:56

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#23

جزاك الله خيرا خي Seahmad

اظن ان التجميل بواسطة الكود للوفور هو طريقة مهمة لان وضع صورة في الفورم سوف يبطئ من فتح الفورم و كذلك يزيد من حجم البرنامج و الله اعلم

و لكن انت تتحدث عن سلسلة من الدروس .ايــــــــــــــــــن بقية الدروس بقى؟

منتظرين البقية و بالتــــــــــــوفيق

#24

وإياك أخي Wise

أنظر المواضيع المثبتة أو في توقيعي

وأنا في انتظار تعليقاتك أو إضافاتك الجميلة

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#25

Merci boucoup pour votr code M.seahmad -waf

و في انتظار باقي الدروس

post-64087-1131899176_thumb.gif

هذا الموضوع مغلق.

مواضيع مشابهة