PDA

View Full Version : آيا اين مشكل كه در Visual Studio 2008 وجود دارد باگ است ؟



crying sphere
شنبه 17 مهر 1389, 14:41 عصر
با سلام

لطفا اين مراحل رو براي ايجاد يك برنامه طي كنيد و ببينيد كه آيا شما هم به مشكل من برخورد مي كنيد يا خير :

1 - يك MenuStrip و يك Button روي فرمتون بذارين و چند تا آيتم هم به منو اضافه كنين.

2 - حالا دكمه رو انتخاب كنين و از پنل سمت راست Properties و سپس Image رو انتخاب كنين . حالا Project Resource File رو انتخاب و سپس روي Import كليك كنيد . عكسي رو انتخاب كنين و Ok رو بزنيد .

3 - مثل اينكه اشتباه كردم!!! عكس رو نبايد import مي كرديد!!! . پس حالا از پنل سمت راست Solution Explorer رو انتخاب و از پوشه Resource عكسي رو كه import كرديد رو Delete كنيد .

4 - حالا برنامه رو اجرا كنين . درسته بايد هم اين خطا بده!! روي No كليك كنيد . به قسمتي كه خطا داده برويد و كدهاي اضافي رو كه باعث خطا شدن رو حذف كنيد . مثلا بصورت زير كه در برنامه من اين جوري بود :




<data name="Bitmap" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Bitmap.JPG;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>

</data>




دقت كنيد كدها رو اشتباه حذف نكنيد.

5 - حالا برنامه رو دوباره اجرا كنيد . خوب توي اين پنجره خطا كه ظاهرا چاره ديگه نيست، روي Ignore and continue كليك كنيد و سپس yes رو بزنيد .

6 - چي شد؟!!! چرا MenuStrip اينجور شد ؟ پس كوش اون آيتهايي كه روش گذاشتم؟

ببينيد كه آيا شما هم همين مشكل را داريد يا خير؟ چون من خيلي به اين مشكل برخوردم و بارها منوهاي من كه روش وقت گذاشتم اينجوري شدند. شايد كار من اشتباه بوده، لطفا امتحان كنين و نظر بدهيد .

alimanam
شنبه 17 مهر 1389, 18:22 عصر
با سلام

اصلاً چه نیازی هست که آیکون یا تصویر یک منو رو به صورتی که فرمودین ( اضافه کردن بوسیله Resource ) ست کنین !!! ( در عمل اگه کار به درستی انجام بشه مشکلی نیست اما هر چیزی رو بهر کاری ایجاد کردن ) موفق باشید .

crying sphere
یک شنبه 18 مهر 1389, 09:48 صبح
ببخشيد پس چطور ميشه تصويري براي دكمه گذاشت ؟ غير از روشي كه من گفتم ؟

Alghoochi
یک شنبه 18 مهر 1389, 12:40 عصر
دو روش ساده:
اول:



System.Drawing.Image.FromFile("File name as string")

آرگومان این تابع مسیر تصویر شماست و برای شما عکس مورد نظرتون رو برمی گردونه

دوم:
بعضی از کنترل ها خاصیت imagelocation دارند. که می تونی مسیر تصویرت رو وارد کنی.

مشکل شما اینجاست که resource را قبل از حذف به عنوان image باتن ، اومدید اونو پاک کردید. اگه اول روی همون باتنی که ساختید برید و خاصیت image اون را به none تغییر بدید اصلا چنین اروری مشاهده نمی کنید.

crying sphere
یک شنبه 18 مهر 1389, 13:37 عصر
با تشكر از دوست عزيز

من مي دونستم قبل از حذف عكس اونو none كنم ، اما مي خواستم ببينم كه چرا اونMenuStrip اونجوري ميشه ؟ آيا بين آنها رابطه اي وجود داره ؟

alimanam
یک شنبه 18 مهر 1389, 13:58 عصر
با سلام

ببخشيد پس چطور ميشه تصويري براي دكمه گذاشت ؟ غير از روشي كه من گفتم ؟

دوربین مخفیه ؟!!!! یعنی شما واقعاً نمی دونین باید عکس رو به صورت Local ایمپرت کنی ؟ :متعجب:
http://1imagehosting.com/images/jhfg.gif

crying sphere
یک شنبه 18 مهر 1389, 15:18 عصر
باور كنيد من اينو بلد بودم فقط فرق اين دوتا رو نمي دونستم . فكر مي كردم اگه پاييني رو بزنم برنامه رو هرجا كه ببرم عكساهم باهاش مياد و ديگه لازم نيست عكسارو كنار برنامه داشته باشيم .
مگه فرق بالايي با پاييني چيه كه مي گيد از بالايي استفاده كنيم؟

alimanam
یک شنبه 18 مهر 1389, 15:54 عصر
میشه گفت فرقی نمی کنن ( البته نه در همه حالات ) چون وقتی برنامه کامپایل بشه و از طریق کد نویسی هم اون تصویر رو به کنترلی ست کرده باشین و کاربر بیاد اون تصویری که در پوشه Resources رو هم تغییر بده باز همان تصویر کامپایل شده نشان داده خواهد شد .

اما ...

این ویژگی ( استفاده کردن در حالتی که شما در ابتدا استفاده کرده بودین ) بیشتر در مواقعی استفاده میشه که بخواین سورس برنامه رو در اختیار کسی قرار بدین و اون به اختیار خودش بتونه تصاویری رو در برنامه حذف و یا اضافه کنه ( به کنترل خاصی نسبت بده ) برای اطلاعات بیشتر در این مورد به MSDN مراجعه کنید . موفق باشید .