مشکل با UseVisualStyleBackColor باتن
1) من میخوام BackColor باتن رو عوض کنم ولی وقتی اینکارو میکنم از حالت برجسته و 3 بعدی بیرون میاد و UseVisualStyleBackColor مساوی false میشه!!! وقتی هم که UseVisualStyleBackColor رو True میکنم باتم برمیگرده به همون حالت اولیه و BackColor اولیه!!!
2) چیکار کنم که سایه باتن وقتی موس میره روش تغییر کنه و رنگی که من میخوام جاش بزارم؟
نقل قول: مشکل با UseVisualStyleBackColor باتن
سلام
به لینک زیر یه نگاه بندازید :
http://stackoverflow.com/questions/7...-has-no-effect
بهتره با Blend کار کنین 100 برابر زیباتر از این دکمه ها میتونید بسازید
1 ضمیمه
نقل قول: مشکل با UseVisualStyleBackColor باتن
نقل قول:
نوشته شده توسط
hesam_mahmoodi
1) من میخوام BackColor باتن رو عوض کنم ولی وقتی اینکارو میکنم از حالت برجسته و 3 بعدی بیرون میاد و UseVisualStyleBackColor مساوی false میشه!!! وقتی هم که UseVisualStyleBackColor رو True میکنم باتم برمیگرده به همون حالت اولیه و BackColor اولیه!!!
2) چیکار کنم که سایه باتن وقتی موس میره روش تغییر کنه و رنگی که من میخوام جاش بزارم؟
این نمونه محدودیت رنگ نداره (مشخصه FaceColor) می توانید در رخداد های MouseEnter و MouseLeave تغییرش بدهید.
ضمیمه 100741
نقل قول: مشکل با UseVisualStyleBackColor باتن
نقل قول:
نوشته شده توسط
the king
این نمونه محدودیت رنگ نداره (مشخصه FaceColor) می توانید در رخداد های MouseEnter و MouseLeave تغییرش بدهید.
ضمیمه 100741
مرسی عالی بود، دقیقا دنبال همچین چیزی میگشتم. تشـــکر
نقل قول: مشکل با UseVisualStyleBackColor باتن
نقل قول:
نوشته شده توسط
the king
این نمونه محدودیت رنگ نداره (مشخصه FaceColor) می توانید در رخداد های MouseEnter و MouseLeave تغییرش بدهید.
ضمیمه 100741
چطوری میتونم این رو به پروژه خودم انتقال بدم وقتی انتقال میدم ارور های زیر رو میده!!!
تو کلاس Alpha.cs این خط رو ارور میگیره (unsafe)
unsafe
{
byte* sourcePtr = (byte*)sourceData.Scan0;
byte* maskPtr = (byte*)maskData.Scan0 + 3;
int count = source.Width * source.Height;
byte red = color.R;
byte green = color.G;
byte blue = color.B;
byte alpha = color.A;
for (int i = 0; i < count; i++)
{
sourcePtr[0] = blue;
sourcePtr[1] = green;
sourcePtr[2] = red;
sourcePtr[3] = (byte)(((int)color.A * (int)maskPtr[0]) / 255);
sourcePtr += 4;
maskPtr += 4;
}
}
و تویه کلاس کامپوننت CButton.cs هم هرکجا از کلمه button استفاده شده باه رو ارور میگیریه!!!!!!
مثل:
Alpha.FillMask(mask, Properties.Resources.button, this.FaceColor);
.
.
.
g.DrawImage(Properties.Resources.button, dst, new Rectangle(0, 0, 11, 27), GraphicsUnit.Pixel);
.
.
.
نقل قول: مشکل با UseVisualStyleBackColor باتن
نقل قول:
نوشته شده توسط
hesam_mahmoodi
چطوری میتونم این رو به پروژه خودم انتقال بدم وقتی انتقال میدم ارور های زیر رو میده!!!
تو کلاس Alpha.cs این خط رو ارور میگیره (unsafe)
unsafe
{
byte* sourcePtr = (byte*)sourceData.Scan0;
byte* maskPtr = (byte*)maskData.Scan0 + 3;
int count = source.Width * source.Height;
byte red = color.R;
byte green = color.G;
byte blue = color.B;
byte alpha = color.A;
for (int i = 0; i < count; i++)
{
sourcePtr[0] = blue;
sourcePtr[1] = green;
sourcePtr[2] = red;
sourcePtr[3] = (byte)(((int)color.A * (int)maskPtr[0]) / 255);
sourcePtr += 4;
maskPtr += 4;
}
}
و تویه کلاس کامپوننت CButton.cs هم هرکجا از کلمه button استفاده شده باه رو ارور میگیریه!!!!!!
مثل:
Alpha.FillMask(mask, Properties.Resources.button, this.FaceColor);
.
.
.
g.DrawImage(Properties.Resources.button, dst, new Rectangle(0, 0, 11, 27), GraphicsUnit.Pixel);
.
.
.
مواردی که باید بعد از انتقال به پروژه دیگری تغییر بدهید یا اضافه کنید اینها هستند :
1) پروژه یک تصویر به عنوان Skin دکمه داره، با اسم button که مربوط به فایل button.png است.
در منوی Project ویژوال استدیو ، گزینه ...Project Name} Properties} را انتخاب کنید. زبانه Resources را باز کرده
و گروه Images را فعال کرده (Ctrl + 2) و ...Add Resource > Add Existing File را انتخاب کنید و فایل button.png مورد نظر
رو به Resource های پروژه تون اضافه کنید تا در کد به Properties.Resources.button دسترسی داشته باشیم.
2) برای افزایش سرعت متد FillMask از قابلیت اشاره گر های #C استفاده شده که جزو کد های Unsafe ئه.
برای فعال کردن قابلیت Unsafe در کامپایلر در منوی Project ویژوال استدیو ، گزینه ...Project Name} Properties} را انتخاب کنید.
زبانه Build را باز کرده و تیک گزینه Allow unsafe code را بزنید.
3) ابتدای کد فایل های Alpha.cs و CButton.cs از namespace ئه ColorButton استفاده شده :
namespace ColorButton
{
اسم ColorButton رو ویرایش کرده و مطابق namespace پروژه تان (در کد فرم های پروژه تان هست) تغییر بدهید.
نقل قول: مشکل با UseVisualStyleBackColor باتن
نقل قول:
نوشته شده توسط
the king
مواردی که باید بعد از انتقال به پروژه دیگری تغییر بدهید یا اضافه کنید اینها هستند :
1) پروژه یک تصویر به عنوان Skin دکمه داره، با اسم button که مربوط به فایل button.png است.
در منوی Project ویژوال استدیو ، گزینه ...Project Name} Properties} را انتخاب کنید. زبانه Resources را باز کرده
و گروه Images را فعال کرده (Ctrl + 2) و ...Add Resource > Add Existing File را انتخاب کنید و فایل button.png مورد نظر
رو به Resource های پروژه تون اضافه کنید تا در کد به Properties.Resources.button دسترسی داشته باشیم.
2) برای افزایش سرعت متد FillMask از قابلیت اشاره گر های #C استفاده شده که جزو کد های Unsafe ئه.
برای فعال کردن قابلیت Unsafe در کامپایلر در منوی Project ویژوال استدیو ، گزینه ...Project Name} Properties} را انتخاب کنید.
زبانه Build را باز کرده و تیک گزینه Allow unsafe code را بزنید.
3) ابتدای کد فایل های Alpha.cs و CButton.cs از namespace ئه ColorButton استفاده شده :
namespace ColorButton
{
اسم ColorButton رو ویرایش کرده و مطابق namespace پروژه تان (در کد فرم های پروژه تان هست) تغییر بدهید.
مرسی درست شد دستتدردنکنه.