PDA

View Full Version : سوال: مشکل در کار با آیکون



losingsleeep
یک شنبه 15 فروردین 1389, 09:35 صبح
سلام.
چرا وقتی یک فایل آیکون (با پسوند ico) از طریق ویژوال استودیو ، شاخه Properties/resource به پروژه اضافه میشه ، در اختصاص برای یک کنترل (مثلاً عکس برای یک دکمه) نمایان نمیشه؟ (یعنی مثلاً برای یک دکمه میریم به قسمت properties / image). ولی اگه از همین طریق یک فایل BMP به پروژه اضافه کنیم بدون مشکل در انتخاب برای یک کنترل مشاهده میشه.
لطفاً منو راهنمایی کنید.

behnam25214
یک شنبه 15 فروردین 1389, 10:20 صبح
نمیدونم مشکلت کجاس چون اضافه میکنه و نمایش هم میده الان امتحان کردم شد.
فایل رو هم ضمیمه کردم.

losingsleeep
یک شنبه 15 فروردین 1389, 15:28 عصر
نمیدونم مشکلت کجاس چون اضافه میکنه و نمایش هم میده الان امتحان کردم شد.
فایل رو هم ضمیمه کردم.

من تو پروژه شما هم اینکار رو کردم اما باز هم نمیشه. فکر کنم روش شما فرق داره. روشی که من میگم اینه که تو مدیریت Resource.resx از منوی Add Resource گزینه Add Existing File رو انتخاب کنی. وقتی این مار رو میکنیم ، فایل آیکون میره تو قسمت آیکون ها . اما جالب اینجاست که اگه هنگام انتخاب عکس برای دکمه گزینه Import رو بزنیم و برای مشاهده نتیجه بریم به قسمت مدیریت Resource.resx ، میبینیم که آیکون ما کنار بقیه Image ها هست ، و البته قابل انتخاب برای کنترلها.
چرا؟

behnam25214
یک شنبه 15 فروردین 1389, 19:06 عصر
روشی که انجام میدادی رو امتحان کردم نشد. یعنی با پسوند ico. رو نمیاره.ولی 2 تا راه داره:!↓
1.Form1.Designer.cs رو باز کن میبینی که واسه باتون هایی که داری چند پروپرتی تعربف شده برای مثال باتونی با نام Button1
توی فرم قرار دادم و وقتی میرم به Form1.Designer.cs اینها رو میبینم

this.button1.Image = global::WindowsFormsApplication2.Properties.Resour ces.poubelle;
this.button1.Location = new System.Drawing.Point(3, 12);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(122, 40);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;

سطر اول نشون میده که آیکنی با نام poubelle به باتون1 اختصاص داده شده ولی پسوندش png هست حالا اگه بخواییم یه آیکن با پسوند ico رو به باتون 1 اختصاص بدی کافیه به جای .poubelle نام آیکن مورد نظر + () toBitmap بنویسی خودش به باتون اون آیکن رو اختصاص میده.

2.روش 2 هم که خیلی ساده هست کنترل مورد نظر رو انتخاب و بعد از properties/image/import رو بزن آیکن مورد نظر رو انتخاب و ok کن . اون آیکن به Resource هم اضافه میشه.

losingsleeep
دوشنبه 16 فروردین 1389, 09:27 صبح
ممنون از پاسختون.
یه چیز جالب که البته شاید خودتون بدونید:
وقتی فایل Resource.resx رو ویرایش می کنیم ، میبینیم که نام و مشخصات همه فایل ها رو اونجا نوشته. حالا اگه نوع فایل آیکون مورد نظر رو از System.Drawing.Icon به System.Drawing.Bitmap تغییر بدیم ، مشکل حل میشه یعنی برای انتخاب و استفاده آماده میشه.
به هر جهت من احساس میکنم این یه باگه. چون یه خیلی غیر عادیه.