PDA

View Full Version : تغییر شکل کنترل Button



sm4899
یک شنبه 13 آبان 1386, 12:31 عصر
سلام

دوستان آیا تغییر شکل کنترلی مثل Button به مثلث یا چند ضلعی یا گرد
وجود داره ؟

saeed_rezaei
یک شنبه 13 آبان 1386, 13:41 عصر
سلام.
شما می تونید تمامی کنترلهای مورد نظرتون رو از حالت چهار گوش خارج کنید و به شکل دیگه ای قرار بدید.
هر کنترلی دارای یه فضایی نمایش هست که محدوده کنترل رو مشخص می کنه. به این فضا می گن region
شما می تونیى برای یک کنترل یک region جدید برای کنترلتون بسازید. به این صورت


mycontrol.region=new region (graphicpath)


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


dim gp as new drawin2d.graphicpath

graphicpath دارای متدهایی جهت ساخت، مربع، چند ظلعی ، دایره، بیضی و ترسیم رشته هست. برای ترسیم هر کدوم از شکلها بایستی متدش رو به کار ببرید. برای مثال اگه بخواید که به صورت دایره ای باشه می نویسید:


gp.addcircle (...)

حالا پارامترهاش یادم نیست. اما یه کمی توی msdn مطالعه کنید کل متدهاش رو یاد می گیرید.

__H2__
چهارشنبه 16 آبان 1386, 09:23 صبح
سلام
راه ها و ترفندهای بهتر و راحت تر هم دارد!
کافیست FlatStyle و UseVisualStyleBackColor همان Button معمولی را از property هایش خاموش کنید و یک تصویر gif یا png را به عنوان تصویرپس ضمینه به Button بخورانید که این تصویر میتواند تصویر مثلث یا دایره یا ... باشد.

zarrin_306
چهارشنبه 16 آبان 1386, 13:00 عصر
این یکسری Dll هستش

maryam_vb
چهارشنبه 23 آبان 1386, 12:19 عصر
سلام

آقای saeed _rezaei من نتونستم از راه حل شما استفاده کنم .اگر امکانش هست یه برنامه که این کار رو انجام میده بزارید.

ممنون

دوستانی که به جواب رسیدن لطفا راهنماییم کنید.

maryam_vb
چهارشنبه 23 آبان 1386, 16:51 عصر
سلام برنامه نویسان گرامی
پس چرا جواب نمیدین ؟ کارم گیره .

amirsajjadi
چهارشنبه 23 آبان 1386, 20:24 عصر
با سلام
اینم یک مثال ساده برای تغییر شکل باتون به بیضی

Dim a AsNew Drawing2D.GraphicsPath
a.AddEllipse(0, 0, Button1.Width, Button1.Height)
Button1.Region = New Region(a)