PDA

View Full Version : سوال: ساخت دکمه هایی با ظاهر سفارشی ؟؟



Poorang
جمعه 18 مرداد 1387, 11:39 صبح
سلام.
مطمئنم که تو بعضی از برنامه ها دیدین که دارای اینترفیس مخصوص خودشونن و دارای دکمه ها، Knob، اسلاید بار و چیزهایی از این قبیل که ظاهر مخصوص خودشون رو دارن و مثل دکمه ها یا پنجره های استاندارد ویندوز نیستن. مثل : Power DVD, Babylon و ...
میخواستم در زمینه طراحی این ابزارها راهنماییم کنید یا لینکی بزارین.
ممنونم.

Amir Oveisi
شنبه 19 مرداد 1387, 00:05 صبح
ساده ترین راه اینه که از عکس به عنوان background شون استفاده کنی

saeed razaee
شنبه 19 مرداد 1387, 13:27 عصر
با سلام
در قسمت برنامه هاي كوچك و كاربردي نمونه هست مي توانيد مشاهده كنيد.

ASKaffash
شنبه 19 مرداد 1387, 13:34 عصر
سلام.
مطمئنم که تو بعضی از برنامه ها دیدین که دارای اینترفیس مخصوص خودشونن و دارای دکمه ها، Knob، اسلاید بار و چیزهایی از این قبیل که ظاهر مخصوص خودشون رو دارن و مثل دکمه ها یا پنجره های استاندارد ویندوز نیستن. مثل : Power DVD, Babylon و ...
میخواستم در زمینه طراحی این ابزارها راهنماییم کنید یا لینکی بزارین.
ممنونم.
سلام
برای اینکار بهترین روش اینست که شما یک UserControl که از مثل کلاس Button ارث میبرد ایجاد کنید سپس Event مربوط به OnPaint آن را Overrid کنید و منطق وشکل خود را در آن پیاده سازی کنید واگر در نظر دارید که کنترل شما ابعادی غیر از یک مستطیل داشته باشد با استفاده از کلاس GraphicsPath و خاصیت Region روی کنتری این محدودیت را اعمال کنید

mth_sh89
شنبه 19 مرداد 1387, 14:55 عصر
دیدید کسی کد نذاشت؟؟؟
فراموش کردم پیداش کردم حتما واستون می زارم:بوس:

Poorang
یک شنبه 20 مرداد 1387, 22:09 عصر
سلام
برای اینکار بهترین روش اینست که شما یک UserControl که از مثل کلاس Button ارث میبرد ایجاد کنید سپس Event مربوط به OnPaint آن را Overrid کنید و منطق وشکل خود را در آن پیاده سازی کنید واگر در نظر دارید که کنترل شما ابعادی غیر از یک مستطیل داشته باشد با استفاده از کلاس GraphicsPath و خاصیت Region روی کنتری این محدودیت را اعمال کنید

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

hozouri
دوشنبه 21 مرداد 1387, 09:38 صبح
سلام بر دوستان

در لینک زیر یک کامپوننت که دکمه (Button) هست قرار داده شده که طرح ویستا هم هست شما می توانید از آن بهره ببرید.

http://barnamenevis.org/forum/showthread.php?t=112792&highlight=%D8%AF%DA%A9%D9%85%D9%87+%D9%88%DB%8C%D8 %B3%D8%AA%D8%A7

ASKaffash
دوشنبه 21 مرداد 1387, 13:21 عصر
ممنون از راهنماییتون. این روش رو تست نکردم و لی بنظرم خیلی جالب بود و فکر کنم جواب بده.
مخوام بدونم که این نوع مطالب رو از کجا گیر آوردین چون من تا حالا تو کتابی از این اطلاعات چیزی ندیدم، ممنون میشم که منابع بهتری برای مطالب پیشرفته تر و اینچنینی معرفی کنید!!!

سلام
یک کد نمونه برایتان قرار میدهم :


[ToolboxBitmap(@"C:\X.Bmp")]
publicpartialclassXLabel : Label
{
privatefloat mRotate = 0;
//-------------------------------------------------
public XLabel()
{
InitializeComponent();
}
//-------------------------------------------------
privatevoid Draw(Graphics e)
{
SolidBrush SB = newSolidBrush(this.ForeColor);
e.RotateTransform(this.mRotate);
e.DrawString(this.Text, this.Font, SB, 0f, 0f);
}
//-------------------------------------------------
protectedoverridevoid OnPaint(PaintEventArgs e)
{
if (this.mRotate == 0f)
base.OnPaint(e);
else
Draw(e.Graphics);
}
//-------------------------------------------------
///<summary>
/// میزان دوران به درجه
///</summary>
[Browsable(true)]
publicfloat Rotate
{
get
{
returnthis.mRotate;
}
set
{
this.mRotate = value;
this.Refresh();
}
}
//-------------------------------------------------
}

درضمن بهترین معلم خود Help مربوط به MSDN است.