PDA

View Full Version : سوال: در مورد picturebox



SamaPic
پنج شنبه 30 آبان 1387, 20:04 عصر
سلام دوستان.
من در برنامم يك picturebox دارم كه هر موقع روي هر سطر گريد كليك ميكنم عكس مربوط به اون ركورد را نشان ميدهد.
مشكل من اينه كه ميخوام وقتي از تو فرم اومدم بيرون picturebox به عكس اوليه اي كه براش تو properties تعيين كردم برگرده.
اومدم و در كد نوشتم :


picturebox1.image=nothing

اما اينكار باعث ميشه وقتي دوباره وارد اون فرمم ميشم (همون موقع) عكس پيشفرض ديگه نيست.
به نظرتون چه كاركنم؟
پيشاپيش خيلي ممنون از راهنماييتون.:لبخندساده:

reza1944
پنج شنبه 30 آبان 1387, 20:11 عصر
شما دو خاصیت داری تو properties یکی ذشزن backgroundimage و یکی image
میتونی عكس پيشفرض رو توی خاصیت backgroundimage تعریف کنی

SamaPic
پنج شنبه 30 آبان 1387, 20:58 عصر
سلام دوست عزيز.ممنون از توجهتون.
اما من نميخوام background داشته باشه ميخوام هرموقع كه عكس نداشت عكس پيشفرضم نمايش داده بشه. با اين موردي كه شما فرمودين هم اين عكس را دارم هم عكس انتخابي از گريد ويو را.
لطفا كمك كنيد.
ممنون.

rooshan2008
پنج شنبه 30 آبان 1387, 22:10 عصر
سلام
اگه میخوای وقتی فرم رو Close کردی به حالت اولیه برگرده این کد رو تو FormClosedبنویس:


Me.Dispose()

SamaPic
جمعه 01 آذر 1387, 08:54 صبح
سلام دوست عزيز roshan2008 ممنون از راهنماييتون.
اما من ميخوام وقتي ركوردم عكس نداشت عكس پيشرض باشه.
اگه ممكنه راهنمايي كنيد.
ممنون از توجهتون.

rooshan2008
جمعه 01 آذر 1387, 11:37 صبح
شما یک متغیر تو قسمت general کلاستون ایجاد کنیدمثلاً به نام DImage تو لود فرمتون مقدار picturebox1.image رو توش ذخیره کنید.وقتی داخلش عکس نبود Picturebox1.image=Dimage کنید.
البته از دستور بالا هم تو FormClose ایستفاده کنید

SamaPic
جمعه 01 آذر 1387, 16:57 عصر
شما یک متغیر تو قسمت general کلاستون ایجاد کنی


سلام ممنون از راهنماييتون.
مشكل اينه كه نميتونم. اينكار را بكنم.
اگه ميشه يك قطعه كد بگذارين.
بازم ممنون.

reza1944
جمعه 01 آذر 1387, 23:28 عصر
میتونی یک عکس پیش فرض رو در قسمت resources اضافه کنی و بعد وقتی خاصتی عکس رو پاک کنی عکس رو از ریسورس بیاری و توی picture box قرار بدی بهترین روش همینه



Me.PictureBox1.Image = Nothing
me.PictureBox1.Image=my.Resources.نام عکس پیش فرض

s.k711
شنبه 02 آذر 1387, 09:23 صبح
سلام دوست عزيز.
شما ميتونين يك picturebo ديگه رو فرمتون بگذارين و خاصيت visible اون را false كنيد. و در قسمت لود برنامتون عكس picturebox اصلي را توي picturebox كمكي بريزيد و در موقع نياز از اون استفاده كنيد.
به همين سادگي. من اينكار را قبلا كردم و نتيجه هم گرفتم.



در قسمت لود برنامه
picturebox2.image=me.picturebox1.image




در قسمتي از برنامتون كه به اين عمليات نياز دارين
picturebox1.image=me.picturebox2.image


موفق باشيد. :)

mostafaaa
شنبه 02 آذر 1387, 12:06 عصر
شما ميتونين يك picturebo ديگه رو فرمتون بگذارين و خاصيت visible اون را false كنيد.
البته اگه عکستون رو توی یه متغیر از نوع Image یا Bitmap ذخیره کنید منطقی تره.

Dim IMG As Image = Image.FromFile("C:\MyPic.jpg")
OR

Dim IMG As Image = My.Resources.MyPic
و برای استفاده هم ....

Me.PictureBox1.Image = IMG