تقييم الموضوع :
  • 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
شكرررررررررررررررررررررررررررررررررا
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سورس كود اداة الباركود هدية لهذا المنتدى الغالي . asemshahen5 26 14,453 24-11-23, 10:54 PM
آخر رد: atefkhalf2004
Video [درس فيديو] شرح إنشاء تطبيق Xamarin & SQLite (تخزين الصور في قاعدة البيانات وعرضها في الهاتف) rabia al hamdani 0 467 14-09-23, 10:20 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح كيفية أضافة أو إزالة أدوات برمجية بالكود من والى واجهة التطبيق Xamarin_Forms AND rabia al hamdani 0 702 19-05-23, 10:29 PM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح أبسط طريقة لعمل تطبيق محادثة C# Xamarin خطوة بخطوة + كود rabia al hamdani 0 1,206 20-03-23, 01:17 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح تصميم أداة برمجية تعرض شاشة هاتف الاندرويد في الحاسوب خطوة بخطوة rabia al hamdani 0 781 10-01-23, 03:49 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح كيفية عمل استعلامات فرعية للحقول المرتبطة بجداول اخرى واستعراضها Xamarin & sqlite rabia al hamdani 0 1,002 10-08-22, 12:36 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح كيفية توليد كود واجهة استعلامات تفاعلية إحترافية خاصة بجدول الطلاب Sqlserver rabia al hamdani 2 2,233 05-08-22, 03:51 AM
آخر رد: rabia al hamdani
Video [درس فيديو] شرح كيفية أستخدام المكتبة البرمجية في المشارع المصممة بلغات الدوت نت (C#, VB.net ,#F) rabia al hamdani 0 1,434 11-06-22, 07:29 AM
آخر رد: rabia al hamdani
Video [درس فيديو] 4- إنشاء تطبيق اندرويد مع قاعدة بيانات Sqlite3 وتحويل Sql Server TO Sqlite خطوة بـ.. rabia al hamdani 0 2,084 11-05-22, 02:27 AM
آخر رد: rabia al hamdani
  [مشروع] لعبة الذاكرة مبسطة ( مع الشرح ) Anas Mahmoud 4 3,152 03-09-21, 01:42 PM
آخر رد: devante.celvin

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


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