PDA

View Full Version : سوال: شفاف كردن كنترل Label



teardrop
شنبه 07 فروردین 1389, 20:39 عصر
به نام خدا
من ميخواستم بدونم كه چه طور ميشه Label رو شفاف كرد؟

ali_autumnal
شنبه 07 فروردین 1389, 20:50 عصر
اولا بیشتر توضیح بدید. و بگید که میخوایید چیکار کنید؟ تا بتونیم بهتر راهنمایی کنیم.

teardrop
شنبه 07 فروردین 1389, 20:56 عصر
اولا بیشتر توضیح بدید. و بگید که میخوایید چیکار کنید؟ تا بتونیم بهتر راهنمایی کنیم.

من يك Label در روي PictureBox قرار دادم و ميخواهم كه عكس آن هم معلوم بشود. به خاطر اينكه BackColor برچسب مانع از نمايان شدن عكس ميشود.
backcolor هم معادل transparent قرار ميدهم باز نميشود.

teardrop
شنبه 07 فروردین 1389, 21:05 عصر
با Transparent کردن TransparencKey فرم و انتخاب رنگ سفید واسه bachcolor فرم اگه لیبل رو هم Transparent بکنید در ویندوز XP ، جواب نمیده اما تو ویندوز 7 Transparent میشه و بکگراند در قسمت لیبل دیده میشه.

قربانت؛ من Label روي PictureBox گذاشتم نه روي فرم(روي فرم درسته). يعني پس زمينه Label بشه عكس روي PictureBox.

ali_autumnal
شنبه 07 فروردین 1389, 21:08 عصر
من يك Label در روي PictureBox قرار دادم و ميخواهم كه عكس آن هم معلوم بشود. به خاطر اينكه BackColor برچسب مانع از نمايان شدن عكس ميشود.
backcolor هم معادل transparent قرار ميدهم باز نميشود.



نوشته مورد نظر رو تو فتوشاپ روی عکس قرار بده و عکس رو ذخیره کن. دیگه لزومی نداره از لیبل استفاده کنی.

در ثانی که عکس کل فرم رو پوشش میده بهتره عکس رو بکگراند فرم قرار بدی که اون موقع هیچ مشکلی واست پیش نمیاد و از فتوشاپ هم نمیخواد استفاده کنی.

teardrop
شنبه 07 فروردین 1389, 21:16 عصر
نوشته مورد نظر رو تو فتوشاپ روی عکس قرار بده و عکس رو ذخیره کن. دیگه لزومی نداره از لیبل استفاده کنی.

در ثانی که عکس کل فرم رو پوشش میده بهتره عکس رو بکگراند فرم قرار بدی که اون موقع هیچ مشکلی واست پیش نمیاد و از فتوشاپ هم نمیخواد استفاده کنی.


من اگر ميخواستم از فتوشاپ استفاده كنم ميتونستم از توابع گرافيكي نظير DrawString بهره ببرم.
من از Label ها به عنوان دكمه استفاده كردم يعني در رويداد كليك كدي نوشتم.

ali_autumnal
شنبه 07 فروردین 1389, 21:20 عصر
باید بگم که امکان نداره!! البته بنظر من. چون من یکی هرکاری کردم نشد.
آخرش مجبور شدم عکس رو تقسیم کنم به قطعه های کوچکی که نوشته مورد نظر روش باشه. بعد تو کلیک اون قطعه عکس کد مورد نظر رو نوشتم!!!!!!

که به این روش میگن پاک کردن صورت مسئله!!!!!!!!

teardrop
شنبه 07 فروردین 1389, 21:25 عصر
باید بگم که امکان نداره!! البته بنظر من. چون من یکی هرکاری کردم نشد.
آخرش مجبور شدم عکس رو تقسیم کنم به قطعه های کوچکی که نوشته مورد نظر روش باشه. بعد تو کلیک اون قطعه عکس کد مورد نظر رو نوشتم!!!!!!

که به این روش میگن پاک کردن صورت مسئله!!!!!!!!
موقعيت موس برايش تعيين ميكردي بهتر بود تا تكه تكه كردن

mn_zandy63
شنبه 07 فروردین 1389, 22:31 عصر
سلام، بله همونطور که دوستان اشاره کردند، تا اونجا که من میدونم، در ویندوز فرم های دات نت، transparet برای کنترل ها از اساس پشتیبانی نمیشه.
یعنی در واقع وقتی تعیین میکنی یه بخش transparent باشه، تنها اتفاقی که میافته اون بخش از کنترل فرم زیرش جاش draw میشه و transparency رو این شکلی عملی میکنه.

موفق باشی.

Netsky
یک شنبه 08 فروردین 1389, 00:18 صبح
سلام دوستان .
منم یه بار یه همچین مشکلی رو داشتم . از کنترل Panel استفاده کردم . یعنی خاصیت Background Image این کنترل رو برابر با عکس مورد نظرم قرار دادم و لیبل رو روش گذاشتم . مشکلم به کلی حل شد .
البته شاید غیر اصولی باشه ولی کار رو راه میندازه .
موفق باشید ..........

exlord
یک شنبه 08 فروردین 1389, 11:36 صبح
this.label1.Image = ((System.Drawing.Image)(resources.GetObject("label1.Image")));
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;



this.button1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button1.BackgroundImage")));