فعالیت منزل صفحه ۱۶۸ کتاب توسعه برنامه سازی و پایگاه داده :در این پست جواب فعالیت منزل صفحه ۱۶۸ قرار گرفته است هدف تمرین و یادگیری شما هنرجوی عزیز است.
بخش اول فعالیت صفحه ۱۶۸:ایجاد دکمه دو حالته با رویداد MouseUpوMouseDown توسط کنترل pictureBox
در ابتدا درون یک برنامه گرافیکی همانند فتوشاپ ۳ تصویر در ابعاد مورد نظر برای استفاده در حالات مختلف دکمه(up,down) ایجاد میکنیم در اینجا به دلیل موجود نبودن برنامه ای نظیر فتوشاپ،درون یک فایل پاورپوینت تصاویر مورد نظر را ایجاد کرده با پسوند PNG ذخیره کردم و در ادامه توسط برنامه Paint اقدام به کراپ تصاویر نموده و در درایو D ذخیره نمودم
سپس درون فرم پروژه، کنترل PictureBox را وارد نموده و از پنل Properties بخش رویداد ها برای هر یک از رویداد هایی که بالا ذکر شده کد مربوط به لود شدن هر یک از تصاویر بالا را به شکل زیر مینویسیم
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
pictureBox1.Image = Image.FromFile(“d:/p1.png”);
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
pictureBox1.Image = Image.FromFile(“d:/p2.png”);
}
بخش دوم فعالیت صفحه ۱۶۸:ورود ماوس بروی تصویر و نمایش واژه معادل فارسی
برای این کار نیاز به کنترل PictureBox داریم که در اینجا بنده ۴ کنترل از این نوع در صفحه قرار میدهم دقت داشته باشید که به منظور تغییر ابعاد تصویر به اندازه چارچوب PictureBox خصوصیت Size Mode این کنترل را بر روی StreatchImage قرار دهید
در این مرحله شما باید عکس ها را به پروژه اضافه کنید برای این کار بر روی دکمه کوچک و مثلثی شکل بالا و سمت راست یکی از کنترل های PictureBox کلیک کرده گزینه Choose Image را انتخاب کنید در این صورت کادر محاوره ای انتخاب عکس باز می شود با کلیک بر روی دکمه Import این امکان را دارید که تمام عکس های مورد نیازتان را به پروژه اضافه کنید.این کار را انجام دهید پس از این که تصاویر به پروژه اضافه شد می توانید هر یک را برای هر یک از کنترل های کادر تصویر انتخاب کنید.
برای نمایش واژه معادل هر تصویر نیاز به یک کنترل از نوع Label داریم پس از وارد کردن کنترل Label خصوصیت Text این کنترل را خالی کنید.حال در رویداد MouseHover هر یک از کنترل های PictureBox کد مربوطه که نمایش واژه معادل همان تصویر است را درج می کنیم در اینجا کد مربوط به رویداد MouseHover یکی از کنترل های PictureBox قرار گرفته
private void pictureBox1_MouseHover(object sender, EventArgs e)
{
label1.Text = “معلم”;
}
خب در صورت اجرای برنامه با بردن نشانگر ماوس بر روی هر تصویر واژه معادل آن نمایش داده می شود ولی مشکلی وجود دارد زمانی که نشانگر ماوس از روی کنتر pictureBox به فرم منتقل می شود و تا زمانی نشانگر بر روی PictureBox بعدی نرفته واژه ثابت می ماند برای حل این مساله باید در رویداد MouseLeave هر یک از کنترل های PictureBox مقدار خصوصیت Text کنترل Label خالی در نظر گرفته شود
private void pictureBox1_DragLeave(object sender, EventArgs e)
{
label1.Text = “”;
}
همچنین ببینید:
فعالیت منزل صفحه ۲۱۳ کتاب توسعه برنامه سازی و پایگاه داده (سرعت تایپ)
فعالیت منزل صفحه ۱۹۶ کتاب توسعه برنامه سازی و پایگاه داده (کار با کلیدهای ترکیبی)
فعالیت منزل صفحه ۱۷۲ کتاب توسعه برنامه سازی و پایگاه داده بازی پینگ پنگ
فعالیت منزل صفحه ۲۲۴ توسعه برنامه سازی و پایگاه داده (ذخیره نام و امتیاز در بازی سرعت تایپ)
فعالیت منزل صفحه ۱۶۸ کتاب توسعه برنامه سازی و پایگاه داده
فعالیت منزل صفحه ۲۱۱ کتاب توسعه برنامه سازی و پایگاه داده