PDA

View Full Version : تغيير شكل button



samira2008
سه شنبه 09 شهریور 1389, 17:06 عصر
سلام . من مي خوام روي يك button يك عكس قرار بدم كه از نوع png هست و به صورت مستطيل نيست مثلا دايره و ميخوام كادر اين button با توجه به image اون تنظيم بشه يعني به اين صورت نباشه كه يه مستطيل باشه كه توش يه عكس دايره قرار داشته باشه بلكه button هم دايره بشه آيا امكانش هست يا بايد خودم يه component بسازم؟

samira2008
سه شنبه 09 شهریور 1389, 17:40 عصر
چرا كسي جواب نمي ده؟:گریه::ناراحت::گریه::نارا ت:

amirh_karimifar
سه شنبه 09 شهریور 1389, 17:44 عصر
باید خودت کامپوننت بسازی . این تاپیکو ببین
http://www.barnamenevis.org/forum/showthread.php?t=195088

Mohandes2009
سه شنبه 09 شهریور 1389, 18:27 عصر
می تونی یه لیبل لینک بزاری و اینکار را انجام بدی یا یه لیبل:لبخند:

cheshm6k
سه شنبه 09 شهریور 1389, 21:19 عصر
سلام . من مي خوام روي يك button يك عكس قرار بدم كه از نوع png هست و به صورت مستطيل نيست مثلا دايره و ميخوام كادر اين button با توجه به image اون تنظيم بشه يعني به اين صورت نباشه كه يه مستطيل باشه كه توش يه عكس دايره قرار داشته باشه بلكه button هم دايره بشه آيا امكانش هست يا بايد خودم يه component بسازم؟

سلام .
این خصوصیات رو برای button ست کن
backColor=transparent
flatStyle=Flat
BorderSize=0 . این خصوصیت رو وقتی روی علامت + کنار خصوصیت FlatAppearance کلیک کنی میبینی.
حالا اون عکست به هر شکلی باشه، دیگه مهم نیست.

Mohandes2009
سه شنبه 09 شهریور 1389, 22:17 عصر
همه اینکارها درسته ولی وقتی عکست مربع و مستطیل نباشه آخرش کناره هایی از اون عکس که همه کلید را نگرفته اگه کلیک بشه هم مشکل ساز میشه!

باید اطراف عکس را بگیری یه چیزی مثه Imagemap در asp.net :لبخند:

Rejnev
سه شنبه 09 شهریور 1389, 22:26 عصر
همه اینکارها درسته ولی وقتی عکست مربع و مستطیل نباشه آخرش کناره هایی از اون عکس که همه کلید را نگرفته اگه کلیک بشه هم مشکل ساز میشه!

باید اطراف عکس را بگیری یه چیزی مثه Imagemap در ASP.NET :لبخند:
با چهار گوش بودن کنترلها توی پروژه های ویندوز فرم نمیشه کاری کرد.
اگه توی ویندوز 7 روی منوی استارت هم همین کار رو بکنی میبینه که منو باز میشه(البته این کارشون عمدی بوده)

arefba
چهارشنبه 10 شهریور 1389, 01:05 صبح
چرا حتما باید باتون باشه چرا پیکچر باکس نه ؟
با یه خورده فتوشاپ کاری دکمه های خوبی میسازی می تونی که دی ال الشم کنی

مهدی فرزاد
چهارشنبه 10 شهریور 1389, 01:17 صبح
با چهار گوش بودن کنترلها توی پروژه های ویندوز فرم نمیشه کاری کرد.
اگه توی ویندوز 7 روی منوی استارت هم همین کار رو بکنی میبینه که منو باز میشه(البته این کارشون عمدی بوده)

سلام
اگه شما از تکنولوژی WPf استفاده کنید تمام این مشکلات حل میشه
به تالار WPf سر بزنید و این لینک رو هم حتما ببینید
http://www.barnamenevis.org/forum/showthread.php?t=243023

Rejnev
چهارشنبه 10 شهریور 1389, 12:04 عصر
با چهار گوش بودن کنترلها توی پروژه های ویندوز فرم نمیشه کاری کرد.
اگه توی ویندوز 7 روی منوی استارت هم همین کار رو بکنی میبینه که منو باز میشه(البته این کارشون عمدی بوده)


سلام
اگه شما از تکنولوژی WPf استفاده کنید تمام این مشکلات حل میشه
به تالار WPf سر بزنید و این لینک رو هم حتما ببینید
http://www.barnamenevis.org/forum/showthread.php?t=243023

سلام من در پاسخ مهندس 2008 و برای تکمیل جوابها بخش اول رو نوشتم.
ولی علت اینکه مثال ویندوز 7 رو زدم منظورم این نبود که ویندوز 7 (با وجود استفاده از wpf) هم هنوز دچار این مشکلاته. فقط خواستم بگم که توی پروژه های ویندوزی دنبال این کارها (غیر چهار گوش کردن) نباشید که در حالت عادی نمیشه کاریش کرد.
راحش همونطور که گفتین wpf است.

samira2008
چهارشنبه 10 شهریور 1389, 13:21 عصر
ممنون از تمامي شما. مشكلم با راهنمايي هاتون حل شد.

javad_r_85
چهارشنبه 10 شهریور 1389, 13:22 عصر
سلام .
این خصوصیات رو برای button ست کن
backColor=transparent
flatStyle=Flat
BorderSize=0 . این خصوصیت رو وقتی روی علامت + کنار خصوصیت FlatAppearance کلیک کنی میبینی.
حالا اون عکست به هر شکلی باشه، دیگه مهم نیست.

سلام این کار در سی شارپ مانند آب خوردن می باشد بر خلاف زبانهای دیگر
ابتدا برنامه فتو شاپ را باز کرده یه فایل جدید از نوع ترنسپرنت ایجاد کرده بعد شکل خودت را بکش مثلا یه دایره سپس اونا با پسوند gif ذخیره کن حالا در ویژوال مراحل بالا که دوست عزیرم گفتند را اجرا کن و backgrounimagelayot را می تونی strech کنی

شما می تونید همین جوری یه فرم سفارشی نیز ایجاد کنید با شکل دلخواه تنها مشکلی که داره اینه که با موس حرکت نمی کنه که اونم بگردی کداشو پیدا می کنی

sinashahab
چهارشنبه 10 شهریور 1389, 16:21 عصر
سلام
اگه شما از تکنولوژی WPf استفاده کنید تمام این مشکلات حل میشه
به تالار WPf سر بزنید و این لینک رو هم حتما ببینید
http://www.barnamenevis.org/forum/showthread.php?t=243023
یعنی هیچ راهی توی C# نداره که بشه اون حاشیه ها رو برای پیکچرباکس یا باتن برداشت ؟

منظورم اینه که مستطیل شکل نباشه کنترل .:چشمک:

javad_r_85
چهارشنبه 10 شهریور 1389, 16:33 عصر
سلام با کسب اجازه منم یه آموزش می زارم برای طراحی فرم و یا دکمه ها به شکل دلخواه مثل مدیا پلیر که به شکل یه دایره هست

این کار در سی شارپ مانند آب خوردن می باشد بر خلاف زبانهای دیگر
ابتدا برنامه فتو شاپ را باز کرده یه فایل جدید از نوع ترنسپرنت ایجاد کرده بعد شکل خودت را بکش مثلا یه دایره سپس اونا با پسوند gif ذخیره کن حالا در ویژوال مراحل زیررا را اجرا کن
برای دکمه ها
backColor=transparent
flatStyle=Flat
BorderSize=0 . این خصوصیت رو وقتی روی علامت + کنار خصوصیت FlatAppearance کلیک کنی میبینی.


برای فرمها
خاصیت trancparensykey را با backcolor برابر قرار داده
formborderstyle=none


و backgrounimagelayot را می تونی strech کنی

فقط یه مشکلی که هست اینه که فرم با موس جابجا نمی شه

using System.Runtime.InteropServices;



[DllImport("user32.dll")]
static extern int ReleaseCapture();
[DllImport("user32.dll", EntryPoint = "SendMessageA")]
static extern int SendMessage(int hwnd, int wMsg, int wParam, object lParam);
private const int WM_NCLBUTTONDOWN = 161;

private void Form1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(this.Handle.ToInt32(), WM_NCLBUTTONDOWN, 2, 0);
}
private void Form1_Load(object sender, EventArgs e)
{
this.MouseDown+=new MouseEventHandler(Form1_MouseDown);
}

sinashahab
چهارشنبه 10 شهریور 1389, 17:33 عصر
خوب این جواب سوال من نیست ؟!:متفکر:

اینجا می تونی یه فرم ایجاد کنی که توش فقط همون دکمه یا پیکچرباکس معلوم باشه ولی من میخوام توی فرمم بجای دکمه از عکس (یا عکس داخل بات) استفاده کنم و حاشیه های اون جزو عکس حساب نشه(مستطیل نباشه).

خوب توضیح ندادم بگید دوباره بگم .