کنترل PictureBox
به وسیلهی کنترل PictureBox میتوانید یک تصویر بر روی فرم قرار دهید. کار اصلی این کنترل نمایش دادن یک تصویر است. تمامی کاری که شما باید بکنید این است که عکس مورد نظر خود را انتخاب کنید تا Visual Studio/VCE آنرا به پروژهی شما وارد کند. شما میتوانید از فرمتهای گوناگونی مثل Jpeg ،PNG ،BMP و GIF استفاده کنید.
در جدول زیر برخی از خواص مفید این کنترل را مشاهده میکنید:
خواص | توضیحات | |
ErrorImage | تصویری که در موقع بالا نیامدن عکس مورد نظر به کاربر نمایش داده میشود. | |
Image | عکسی که توسط این کنترل نمایش داده میشود. | |
ImageLocation | مسیر تصویری که توسط PictureBox نمایش داده میشود. | |
InitialImage | تصویری که در هنگام بارگذاری (Load) تصویر اصلی به کاربر نمایش داده میشود. | |
SizeMode | به ما میگوید که تصویر چگونه نمایش داده خواهد شد. این خاصیت مقدار خود را از System.Windows.Forms.PictureBoxSizeMode میگیرد. | |
WaitOnLoad | وقتی مقدار آن برابر با True باشد، همهی کارهای (تراکنشها) فرم را تا زمانی که تصویر به صورت کامل بارگذاری شود مسدود میکند. |
برای نمایش یک تصویر در کنترل PictureBox، چند روش وجود دارد. شما میتوانید به پنجرهی خواص (Properties) رفته و خاصیت Image را پیدا کنید. بر روی دکمهی سمت راست آن کلیک کرده تا پنجرهی Select Resource باز شود.
در پنجرهی باز شده شما دو انتخاب دارید، یکی اینکه عکس مورد نظرتان را که در داخل یک درایو (Local resource) موجود است انتخاب کنید و دیگری اینکه عکس را قبلاً در داخل فایل پروژه (project’s resouce file) قرار دادهاید وارد برنامه کنید.
هر دوی آنها یک دکمهی Import دارند که به شما اجازه میدهند که تصویر مورد نظر خود را به فرم اضافه کنید. وقتی که شما تصویر مورد نظر خود را انتخاب کردید، VS/VCE تصویر را به کنترل و یا منابع پروژه (Project Resource File) اضافه میکند. حال تصویر شما در داخل PictureBox نمایش داده میشود. به یاد داشته باشید که شما میتوانید از خاصیت ImageLocation استفاده کنید که از شما مسیر تصویر مورد نظر در داخل هارد را درخواست میکند. همچنین شما میتوانید از مسیر یک تصویر که بر روی صفحات وب قرار دارد استفاده کنید. ممکن است نمایش عکس با آن چیزی که شما انتظارش را دارید متفاوت باشد. اگر تصویر بزرگتر از سایز کنترل PictureBox باشد، فقط قسمتی از آن نمایش داده میشود. شما میتوانید از خاصیت SizeMode برای تغییر سایز یا مکان تصویر در داخل کنترل استفاده کنید. این خاصیت از مقادیر شمارشی System.Windows.Forms.PictureBoxSizeMode که در جدول زیر مشاهده میکنید استفاده میکند:
نوع شمارشی |
توضیحات | |
Normal | تصویر در قسمت بالا-چپ جای میگیرد، و اگر تصویر از اندازهی PictureBox بیشتر باشد، تصویر برش داده میشود (فقط قسمتی از آن نمایش داده میشود). | |
StretchImage | سایز تصویر را متناسب با اندازه PictureBox تغییر میدهد و تمام عکس را نمایش میدهد. | |
AutoSize | سایز PictureBox را متناسب با اندازهی تصویر تغییر میدهد و قسمتی از عکس را نمایش میدهد. | |
CenterImage | تصویر در وسط PictureBox قرار میگیرد. اگر سایز تصویر از سایز PictureBox بیشتر باشد، تصویر برش داده میشود (فقط قسمتی از وسط عکس در آن نمایش داده میشود). | |
Zoom | همه عکس را طوری نمایش میدهد که شکل آن در کنترل تغییر نکند مثلاً کشیده نشود. |
رویداد پیشفرض این کنترل، رویداد Click است، و زمانی رخ میدهد که بر روی عکس یا کنترل کلیک شود.
سلام خداقوت🌹🌹
ببخشید خواستم بپرسم اگه از تابع imagelocation استفاده کنیم باید حتما قبلش اون عکس مورد نظر رو در درایو resources و debug فایل پروژه ذخیره کنیم یا راه دیگه ای هم هست که مستقیم مسیر پرونده عکس رو از file name بگیره و نمایش بده بدون ذخیره عکس در فایل پروژه برنامه؟
سلام
ممنون میشم سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
سلام
ببخشید فرق بین Local resource با project resource file چیست
ممنون
سلام
عکسی که با استفاده از Local resource به Picturebox داده میشه فقط تو اون فرم قابل استفاده است و اگر یک فرم دیگه رو با همون عکس بخواین داشته باشین باید فرم رو کپی کنید.
عکسی که با استفاده از Project resource به Picturebox داده میشه رو میتونید بدون کپی کردن فرم، در همه فرم های پروژه استفاده کنید.
سلام
اگر که بخواییم چک کنیم عکس داخل پیکچر باکس قرار گرفته یا نه چه کدی داخل if وارد کنیم؟؟؟؟؟؟؟؟
سلام
سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
با سلام … من یه عکس داخل پیکچر باکس باز کردم و وقتی می خوام اون رو ری نیم کنم بهم خطا میده که این فایل یه جای دیگه مورد استفاده است…. لطفا کمکم کنید که چطور میشه این مشکل رو حل کنم … ممنون از لطفتون
سلام چطور میشه در سی شارپ عکس رو به حالت یک فرو رفتگی در صفحه فرم نمایش دادممنون میشم که زودتر جواب بدین?
سلام، سوالتونو روبه همراه کدی که نوشتین تو بخش پرسش پ پاسخ سایت مطرح بفرمایید تا دوستان راهنمایی کنن
w3-farsi.com/forum
سلام ببخشید یه سوال مهم داشتم من یه ویدیو میدیدم یه برنامه میساخت کد زیر رو تو یه قسمت کپی کرد با تغییر اعداد 17 عکس نمایش داده شد(کد عکس های جدا نوشته شده بود) ولی واسه من اینطوری نمیشه
باسلام من میخوام یک پیکچر باکس را حرکت دهم
سلام، جواب سوالتون تو بخش پرسش و پاسخه، لینک زیر رو ببینید:
لینک
در ضمن ممنون میشم از این به بعد سوالاتتونو تو بخش پرسش و پاسخ مطرح بفرمایید
عالی مرسی
خواهش می کنم، لطف دارین
سلام .من یه تصویر رو به عنوان پس زمینه قرار دادم و lable ها و پنلهایی که روش قرار میدم پس زمینه دارند چطور میشه کاری کرد که پس زمینه یlable شیشه ای باشه ؟و فقط نوشته ی داخلش مشخص باشه ؟؟
سلام، رنگ پس زمینه رو transparent کنید
سلام میخواستم بدونم چطور میشه خود کاربر عکس رو انتخاب کنه؟
اول از هر چیز ممنون میشم از این به بعد سوالاتتونو تو بخش پرسش و پاسخ سایت مطرح بفرمایید. دوم، از کنترل openfiledialog واسه این کار به صورت زیر استفاده کنید