PDA

View Full Version : ترانسپرنت کردن لیبل



hhiliahh
شنبه 07 مهر 1386, 18:05 عصر
ترانسپرنت کردن لیبل طوریکه پیکچرباکس زیر آن مشخص باشد.
لطفاً جواب بدهید .
با تشکر .

کسی نیست جواب مارو بده

لطفا جواب دهید

لطفا جواب دهید .

لطفا جواب دهید:لبخندساده:

PC2st
شنبه 07 مهر 1386, 20:15 عصر
این کار اصلا جالب نیست... (فرستادن 5 پست پشت سر هم و به فاصله بازه زمانی 1 دقیقه) ! :متفکر: :اشتباه:

RED-C0DE
شنبه 07 مهر 1386, 20:25 عصر
حالا اولشه...بعضی وقتا پیش می یاد...

من به این مشکل قبلا توی دات نت 2003 برخورده بودم...اومدم توی جایی که کنترلها رو روی فرمم Add می کنه در تابع InitializeComponent که توی 2005 می تونی در فایل Designer.cs (مثلا اگه اسم فرمت FrmMain هست از توی Solution Explorer ، فایل FrmMain.Designer.cs رو باید بازش کنی) پیداش کنی یک تغییراتی دادم...

خوب حالا فرض می کنیم که شما یک Label به اسم lblMessage1 داری و یک PictureBox به نام picBanner ، حالا باید lblMessage1 رو بجای اینکه توی کنترلهای فرمت Add بشه ، اونو در کنترلهای picBanner اضافه کنی...

بعضی از کنترل ها یک خاصیت مجموعه به نام Controls دارن که کنترلهایی که متعلق به خودشون هستند رو در این مجموعه نگه می دارن و مثلا وقتی که شما رنگ پشت زمینه Label رو به صورت Transparent تنظیم می کنی ، می یاد و به کنترل Parent خودش (همون کنترلی که توش Add شده و در حالت عادی شما کنترلها رو روی یک فرم یا GroupBox یا Panel و... اضافه می کنی و نه روی یک PictureBox) نگاه می کنه و خودش رو با اون هماهنگ می کنه...

حالا قسمتی که کنترلها رو به فرمت اضافه کرده رو پیدا کن :


(this.Controls.Add(lblMessage1)


و به این شکل تغییرش بده :



this.picBanner.Controls.Add(lblMessage1)

hassan razavi
شنبه 07 مهر 1386, 20:35 عصر
ولی روش بالا روی همه کنترلها جواب نمیده. مثلا برای Flash Player که خیلی هم کاربرد داره این روزها.
اگه می خواهید که Lable تون روی یک کنترل دیگه به راحتی Transparent بشه ، باید دنبال کنترلهای دیگه بگردید. مثل :

http://www.codeproject.com/cs/miscctrl/translabelcontrol.asp