PDA

View Full Version : سوال: Label روی PictureBox



KhanDaii
پنج شنبه 13 اسفند 1388, 16:39 عصر
سلام خدمت بچه ها ...
سوالم اینه که وقتی شما یه Label رو روی یه PictureBox می ذاریم، توی PictureBox یه قسمتی سفید می شه. من می خوام هم رنگ PictureBox بشه. یعنی فقط نوشتش معلوم باشه و دیگه فضای Label معلوم نباشه.
نمی دونم تونستم منظورم رو برسونم یا نه ...!!! :متفکر:
اگه کسی متوجه شد، جوابم رو بده . با تشکر . . . ! ! ! :خجالت:

M.T.P
پنج شنبه 13 اسفند 1388, 16:47 عصر
شما خصوصیت BackColor رو بزن بعد از تب Web گزینه Transparent رو انتخاب کن همه چی حله

pouyansaraf
پنج شنبه 13 اسفند 1388, 17:11 عصر
شما خصوصیت BackColor رو بزن بعد از تب Web گزینه Transparent رو انتخاب کن همه چی حله

جالبه من transparent میکنم جواب نمیده.
چرا؟

M.T.P
پنج شنبه 13 اسفند 1388, 18:34 عصر
جالبه من transparent میکنم جواب نمیده.
چرا؟

شما رنگ پس زمینه فرمتون رو سفید یا قرمز کن بعد رنگ پس زمینه لیبل رو Trasparent کن لیبل فقط نوشتش میمونه ، فکر نمیکنم مشکی باشه:متفکر:

toopdanlod
پنج شنبه 13 اسفند 1388, 18:44 عصر
اگر لیبیل رو روی یه کنترل دیگه بذاریم دیگه نمیشه back color شو transparent کرد
منم خیلی دنبال راهی گشتم که بشه اما هیچجوره نشد

M.T.P
پنج شنبه 13 اسفند 1388, 18:55 عصر
اگر لیبیل رو روی یه کنترل دیگه بذاریم دیگه نمیشه back color شو transparent کرد
منم خیلی دنبال راهی گشتم که بشه اما هیچجوره نشد

همگی درست میگید وقتی Label میره تو یه PictureBox نسبت به PB این خصوصیت کار نمیکنه چون آقای Label دستوراتشو از جای دیگه میگیره(Form) و اصلا به PB اهمیت نمیده:عصبانی:

اما کار نشد نداره
راه چاره اینجاست که یه کد بنویسیم که از PB دستور بگیره...:قهقهه:



Label1.Parent = PictureBox1

pouyansaraf
جمعه 14 اسفند 1388, 13:24 عصر
اصلا کلا label محو میشه
:متفکر:

bad_boy_2007
جمعه 14 اسفند 1388, 20:29 عصر
همگی درست میگید وقتی Label میره تو یه PictureBox نسبت به PB این خصوصیت کار نمیکنه چون آقای Label دستوراتشو از جای دیگه میگیره(Form) و اصلا به PB اهمیت نمیده:عصبانی:

اما کار نشد نداره
راه چاره اینجاست که یه کد بنویسیم که از PB دستور بگیره...:قهقهه:



Label1.Parent = PictureBox1


كد فوق صحيح است . يك قاعده كلي هميشه كنترلهايي كه رنگ زمينه شان Transparent هستند بخشي از تصوير يا رنگ زمينه Container خود را به عنوان زمينه رسم ميكنند . اگر ميخواهيد رنگ زمينه شان با رنگ زمينه كنترل دلخواهي يكي باشد بايد دو شرط برقرار باشد :

1- Container را بكنيد كنترلي كه ميخواهيد از رنگ زمينه اش استفاده كنيد ، در مورد كنترلهايي غير از Panel - Form و ... از كد جناب Persianlord استفاده نماييد

2- كنترلتان بايد درون محدوده كنترل Container واقع شده باشد


اصلا کلا label محو میشه
:متفکر:

به احتمال 90% شما شرط دوم را رعايت نكرده ايد ، تست كنيد جواب خواهيد گرفت .

نكته مهمي كه وجود دارد هميشه مختصات كنترلها نسبت به Container سنجيده ميشود ، شما مكان label را به 0 و 0 تغيير دهيد يعني label در گوشه بالاي سمت چپ PctureBox قرار خواهيد گرفت .

pouyansaraf
شنبه 15 اسفند 1388, 13:14 عصر
درست شد
ممنون
دو چیز برایم اتفاق افتاد
1- اگر عکس را به صورت Normal بگذارم label بالای آن درست همانجا که در حالت design قرار میدهم نمی ماند و به سمت رات و پایین منتقل می شود
به خاطر همین بود که دفعه پیش آنرا نمی دیدم
2- اگر عکس را Dock کنم درست می شود و label دقیقا همانجا که گذاشته ام میماند

در حالت design و عکس به صورت Normal
http://img196.imageshack.us/img196/6571/43821996.jpg

خروجی: جای لبیبل تغییر کرده (به خاطر اینکه عکس قبلی که کار کرده بودم کوچک بود نمیتوانستم ببینم و محو شده بود)
http://img413.imageshack.us/img413/3875/85709259.jpg

خروجی: وقتی عکس center Dock شده باشد جای صحیح قرار میگیرد
http://img203.imageshack.us/img203/5254/34223996.jpg