تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مثال] من المنتدى القديم شرح كيفية صنع " شريط الصور " خطوة بخطوة + الشرح التفصيلي (1من2)
#1
السلام عليكم 
هذا المقال او المثال منقول من المنتدى القديم وهو للاخ زيد من العراق
بالاول راح اشرح ما هو شريط الصور ,, شريط الصور هو راح يكون مصفوفة صور مرئية جنب الى جنب او من اعلى الى اسفل ولهذا اسميته شريط الصور 

اذا فتحت برنامج Microsoft Office 2010 Picture Maneger راح تشوف انو في طريقة لتصفح الصور وهي مثل شريط يحوي صور عديدة عندما تقوم بأختيار صورة يتم عرضها بسهولة 

احنا راح نسوي شي مشابه ,, ان شاء الله يكون سهل ولن يكون هناك تعقديات 

اكيد تحمستم للموضوع ... اذا خلي نبدأ 

بالاول راح نقوم بصنع UserControl ,, لا تخاف من من اليوزر كنترول اذا كنت مبتدئ ما راح نقوم بعمل شي معقد وانما ستكون حاوية بسيطة للصورة ولكن سيكون بها اطار ويتغير لونه عند مرور الماوس عليه ويرجع الى لونه الاصلي عند ذهاب الماوس من مساحة ابعاده . . . 

اذا ابدأ مشروع جديد - من قائمة المشروع right click على ايقونه المشروع لعمل Add Item من هناك قم بأختار اليوزر كنترول وليكن اسمها ImageContainer ( حاوية الصورة ) 

راح يضهر لك نافذة الاداة قم ببساطة بأضافة PictureBox الي الاداة واهم شي بالموضوع ان تضع مسافة بين حدود الاداة ( قصدي ان لا تكون متلاصقة بكل الجهات ) 

لحد الان كلشيء سهل من قائمة خائص الــ PictureBox

قم بتغيير خاصية SizeMode الى Zoom 
قم بتغيير خاصية Anchor الى Top,Left,Right,Bottom ( كل الجهات ) 

والان مع الكود . . . ادخل الي صفحة الكود ولنقم بوضع خصائص اضافية للأداة 

رموز PHP:
كود :
Color normalColor = Color.Black;  

رموز PHP:
كود :
public Color BorderColor 

set { normalColor = value;}  
get { return normalColor; } 
}  

الخاصية السابقة ستكون اللون الخاص بالأطراف وسيكون شيء مثل اطار للحاوية 
والان مع اللون الي يظهر عند مرور الماوس على الاداة 

رموز PHP:
كود :
Color hoverColor = Color.Orange;  

رموز PHP:

كود :
        public Color HoverColor 
        { 
            set { hoverColor = value; } 
            get { return hoverColor; } 
        }  

والان مع الخاصية العامة public والي هي الصورة 

رموز PHP:

كود :
        public Image Image 
        { 
            set { pictureBox1.Image = value; } 
            get { return pictureBox1.Image; } 
        }  

والان اعطي متغير ليثبت اننا في الوضع العادي ( بدون مرور الماوس على الاداة ) او لا !!!

رموز PHP:

كود :
bool normalMode = true;  

والان مع حدث رسم الحدود على الاداة والي راح تكون مثل اطار كما ذكرت سابقا 
والي راح يكون في حدث الـــ Paint

رموز PHP:

كود :
        private void ImageContainer_Paint(object sender, PaintEventArgs e) 
        { 
            if (normalMode) 
            { 
                e.Graphics.DrawRectangle(new Pen(normalColor, 3), new Rectangle(0, 0, Width - 1, Height - 1)); 
            } 
            else 
            { 
                e.Graphics.DrawRectangle(new Pen(hoverColor, 3), new Rectangle(0, 0, Width - 1, Height - 1)); 
            } 
        }  

والان في حدث الــ MouseHover سنقوم بأستدعاء حدث الرسم وتغيير قيمة الوضع العادي الى false كالاتي : 

رموز PHP:

كود :
        private void ImageContainer_MouseHover(object sender, EventArgs e) 
        { 
            normalMode = false; 
            Invalidate(); 
        }  

والان عند خروج الماوس من الاداة راح نرجع على الوضع العادي :

رموز PHP:

كود :
        private void ImageContainer_MouseLeave(object sender, EventArgs e) 
        { 
            normalMode = true; 
            Invalidate(); 
        }  

والان الاحداث السابقة لا تفعل شيئا عند دخول المواس في منطقة الصورة لذلك لازم نعطي نفس الاحداث الي الــ PictureBox

رموز PHP:

كود :
        private void pictureBox1_MouseEnter(object sender, EventArgs e) 
        { 
            OnMouseHover(e); 
        }  

والان اذا قام المستخدم بالضغط على الــ PictureBox راح تقوم الاداة بأستدعاء حدث الــ Click الخاص بها وليس الخاص بــ PictureBox كالاتي : 

رموز PHP:

كود :
        private void pictureBox1_Click(object sender, EventArgs e) 
        { 
            OnClick(e); 
        }  

ملاحطة : الالوان الخاصة برسم الحدود يمكن تغييرها ضمن الفورم او الــ Run-time بصورة public 
الان وبكل سهولة انتهينا من الدرس الاول وهو صنع الاداة 
ياريت تكون هناك مشاركات بيها الاداة كاملة حتى اشوف كيفية عملكم للأداة واساعدكم بأس استفسار اذا احتاجيتم ( ولو اشوف الدرس سهل   ) 

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

في انتظار مشاركاتكم , اقتراحاتكم , تعليقاتكم 
تحياتي وبالتوفيق . . . اخوكم زيــد

__________________
الرد }}}
تم الشكر بواسطة:
#2
شكرررررررررررررررررررررررررررررررررا
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] تحويل مجموعة من الصور و ملف صوت justforit 1 288 10-10-25, 11:52 PM
آخر رد: justforit
Photo خطوة بخطوة بالكود وشرح الفيديو عمل شاشة تسجيل دخول بصلاحيات مختلفة C# ggtt17121985 0 359 23-04-25, 09:56 AM
آخر رد: ggtt17121985
  مشروع يتيح للمستخدم استخراج الألوان من الصور العتيق 1 431 08-06-24, 04:31 PM
آخر رد: Taha Okla
  كيفية إنشاء اتصال بقواعد البيانات الشائعة باستخدام C#. غزة العزة 3 738 04-06-24, 02:05 AM
آخر رد: salamandal
  سورس كود اداة الباركود هدية لهذا المنتدى الغالي . asemshahen5 25 16,278 24-11-23, 10:54 PM
آخر رد: atefkhalf2004
Video [درس فيديو] شرح تصميم أداة برمجية تعرض شاشة هاتف الاندرويد في الحاسوب خطوة بخطوة rabia al hamdani 0 1,033 10-01-23, 03:49 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح كيفية عمل استعلامات فرعية للحقول المرتبطة بجداول اخرى واستعراضها Xamarin & sqlite rabia al hamdani 0 1,237 10-08-22, 12:36 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح كيفية توليد كود واجهة استعلامات تفاعلية إحترافية خاصة بجدول الطلاب Sqlserver rabia al hamdani 2 2,580 05-08-22, 03:51 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح كيفية أستخدام المكتبة البرمجية في المشارع المصممة بلغات الدوت نت (C#, VB.net ,#F) rabia al hamdani 0 1,787 11-06-22, 07:29 AM
آخر رد: rabia al hamdani
Video [درس فيديو] 4- إنشاء تطبيق اندرويد مع قاعدة بيانات Sqlite3 وتحويل Sql Server TO Sqlite خطوة بـ.. rabia al hamdani 0 2,800 11-05-22, 02:27 AM
آخر رد: rabia al hamdani

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم