PDA

View Full Version : تمایز بین آیکون نمایش داده شده روی Taskbar و فرم



sirvan-me
چهارشنبه 04 مرداد 1391, 15:11 عصر
سلام ، دوستان تو حالت معمولی آیکونی که از طریق دستور
Icon ico = new System.Drawing.Icon("Yahoo-Messenger-Alternate.ico");

برای فرممون انتخاب می کنیم هم به عنوان آیکون کنار فرم و هم به عنوان آیکون نمایش داده شده روی Taskbar در نظر گرفته میشه ... می خواستم بدونم چطور می تونم کاری کنم که آیکون در دو حالت متفاوت باشه .....

ehsan7007
چهارشنبه 11 مرداد 1391, 20:05 عصر
اول فرم رو انتخاب کنید و از properties در قسمت icon ، ایکون مورد نظر را نتخاب کنید.
این از ایکون فرمتون.
یرای ایکون برنامتون هم کافیه در solution Explorer روی اسم برنامتون کلیک راست کرده و properties رو بزنید ، از پنجره ای که باز می شه در قسمت icon ، ایکون برنامتون رو انتخاب کنید و ok کنید.
این هم از ایکون برنامه.

به همین راحتی و بدون کد نویسی !!!
موفق باشی.

sirvan-me
چهارشنبه 11 مرداد 1391, 23:18 عصر
نه نه نه نه .... دوست من من منظورم آیکونی هستش که تو Taskbar نمایش داده میشه .... اونی که شما می گی آیکون خود برنامست .... آیکونی که شما برای فرم انتخاب می کنی تو Taskbar هم نمایش داده میشه .... یه بار ببین ... من می خوام این دو تا با هم فرق کنه ...

ehsan7007
پنج شنبه 12 مرداد 1391, 08:40 صبح
فکر نمی کنم همچین چیزی ممکن باشه ، اخه تسک بار ایکون فرم برنامه رو نمایش می ده و فرم برنامه ی شما هر ایکونی داشته باشه توی تسکبار نمایش داده میشه.
حالا شاید اینجوریش رو دوستان بدونن ، من که نمی دونم.

the king
پنج شنبه 12 مرداد 1391, 13:55 عصر
اگه در روال رسم کردن فرم دخالت کنید میشه بجای نمایش آیکون اصلی اون شمایلی که مورد نظر تون روی کادر فرم رسم کنید، اما
بدیش اینه، ویندوز تا زمانی اون تم مدرن رو روی پنجره نشون میده که داخلش دست نبرید. به محض اینکه کوچکترین دخالتی در روال
رسم بوجود بیاد اون تم مدرن پنجره ها با تم کلاسیک ویندوز های قدیمی جایگزین میشه و شمایل پنجره شبیه ویندوز 98 میشه.
یعنی در کل می توانید یک پنجره زیبا با آیکون اختصاصی بسازید اما ظاهرش دقیقا مشابه سایر پنجره های استاندارد اون ویندوز نمیشه.

sirvan-me
پنج شنبه 12 مرداد 1391, 18:37 عصر
برای دست بردن تو طراحی فرم پیشفرض باید چیکار کنم ... میشه یذره راهنمایی کنید ؟!

the king
پنج شنبه 12 مرداد 1391, 21:59 عصر
برای دست بردن تو طراحی فرم پیشفرض باید چیکار کنم ... میشه یذره راهنمایی کنید ؟!

صد البته، خودم وقتی این مثال رو می نوشتم به این مورد برخوردم :

90639

با کمک توابع API شماره hDC کادر اون پنجره رو بدست می آورید و بر اساسش Graphics می سازید
و بعد هر چه که خواستید در Graphics اش می کشید یا می نویسید.

لینک منبع : timer (http://forum.majidonline.com/threads/176891-timer)

sirvan-me
پنج شنبه 12 مرداد 1391, 23:04 عصر
ممنون خیلی جالب بود ... یه سوال دارم ... شکل و شمایل فرم اصلی Login برنامه ی یاهو مسنجر ورژن 11 خیلی شبیه به فرم های Win App ویژوال استادیو هستش ... یه جورایی احساس می کنم اون یا بخشی از اون رو با .Net نوشته باشن ... چیزی که برام جالبه اینه که سمت چپ بالای فرم ( محل قرار گرفتن آیکون برنامه ) چطور به این صورت در اومده ؟!!!!! و ظاهر همیشه آشنای فرم های Win App هم حفظ شده .. در این باره نظری ندارید ؟

the king
جمعه 13 مرداد 1391, 04:24 صبح
ممنون خیلی جالب بود ... یه سوال دارم ... شکل و شمایل فرم اصلی Login برنامه ی یاهو مسنجر ورژن 11 خیلی شبیه به فرم های Win App ویژوال استادیو هستش ... یه جورایی احساس می کنم اون یا بخشی از اون رو با .Net نوشته باشن ... چیزی که برام جالبه اینه که سمت چپ بالای فرم ( محل قرار گرفتن آیکون برنامه ) چطور به این صورت در اومده ؟!!!!! و ظاهر همیشه آشنای فرم های Win App هم حفظ شده .. در این باره نظری ندارید ؟

همچین کدی رو اجرا کنید :

private void Form1_Load(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(100, 30);
using (Graphics g = Graphics.FromImage(bmp))
{
System.Windows.Forms.VisualStyles.VisualStyleEleme nt element
= System.Windows.Forms.VisualStyles.VisualStyleEleme nt.Window.MinButton.Normal;
System.Windows.Forms.VisualStyles.VisualStyleRende rer renderer
= new System.Windows.Forms.VisualStyles.VisualStyleRende rer(element);
Rectangle rect = new Rectangle(0, 0, 28, 20);
renderer.DrawBackground(g, rect);
element = System.Windows.Forms.VisualStyles.VisualStyleEleme nt.Window.MaxButton.Normal;
renderer = new System.Windows.Forms.VisualStyles.VisualStyleRende rer(element);
rect = new Rectangle(28, 0, 28, 20);
renderer.DrawBackground(g, rect);
element = System.Windows.Forms.VisualStyles.VisualStyleEleme nt.Window.CloseButton.Normal;
renderer = new System.Windows.Forms.VisualStyles.VisualStyleRende rer(element);
rect = new Rectangle(56, 0, 40, 20);
renderer.DrawBackground(g, rect);
}
this.BackgroundImageLayout = ImageLayout.Center;
this.BackgroundImage = bmp;
}


ظاهر فرم رو به هر شیوه دلخواه رسم می کنند، سپس به کمک VisualStyles و ControlPaint
هر موردی که مربوط به Theme ویندوز ئه اضافه می کنند. یک ظاهر استاندارد نمایشی یه، اما الزاما
خودش یک فرم استاندارد نیست.