نمایش نتایج 1 تا 4 از 4

نام تاپیک: ایجاد کلاس دارای تابع گرافیکی و استفاده در فرم ها

  1. #1
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    Question ایجاد کلاس دارای تابع گرافیکی و استفاده در فرم ها

    سلام به همه ...
    دوستان من از این کد تو رویداد paint فرم و یا کنترل دلخواه استفاده میکنم :


    Graphics mGraphics = e.Graphics;
    Pen pen1 = new Pen(Color.FromArgb(43, 87, 154), 0);
    Rectangle Area1 = new Rectangle(0, 0, this.Width - 1, this.Height - 1);
    LinearGradientBrush LGB = new LinearGradientBrush(Area1, Color.FromArgb(43, 87, 154), Color.FromArgb(43, 87, 154), LinearGradientMode.Vertical);
    mGraphics.FillRectangle(LGB, Area1);
    mGraphics.DrawRectangle(pen1, Area1);


    حالا چطور باید توی کلاس بنویسم که بشه تو تمام برنامه (رویداد paint کنترل مورد نظر) ازش استفاده کنم ؟

    ظاهرا باید پراپرتی تعریف کنم ، که این تابع گرافیکی رو به value توی set پاس بدم
    اما مشکل اینه که چجور واسش (توی کلاس) یه کنترل پیشفرض تعریف کنم که بشه تو هر کنترل دیگه (تو رویداد paint) فراخوانی کنم !

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ایجاد کلاس دارای تابع گرافیکی و استفاده در فرم ها

    سلام
    به شکل زیر میشه در یه متد تعریفش کرد:
    class Class1
    {
    public static void GradiantBackColor(Graphics mGraphics, int width, int height)
    {
    Pen pen1 = new Pen(Color.FromArgb(43, 87, 154), 0);
    Rectangle Area1 = new Rectangle(0, 0, width - 1, height - 1);
    LinearGradientBrush LGB = new LinearGradientBrush(Area1, Color.FromArgb(43, 87, 154), Color.FromArgb(43, 87, 154), LinearGradientMode.Vertical);
    mGraphics.FillRectangle(LGB, Area1);
    mGraphics.DrawRectangle(pen1, Area1);
    }
    }


    طریقه استفاده: در رویداد paint کنترل مورد نظر می نویسیم:
    Class1.GradiantBackColor(e.Graphics, this.Width, this.Height);


    البته رنگهای 1 و 2 رو هم میشه در متد تعریف کرد.

  3. #3
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    نقل قول: ایجاد کلاس دارای تابع گرافیکی و استفاده در فرم ها

    سلام و ممنون ...
    کارم راه افتاد
    -------------------
    حالا هدفم اینه که تو کلاس چند تا از این متد تعریف کنم (با طیف رنگی مختلف) و توی تنظیمات برنامه به کابر اجازه تغییر رنگ قالب اصلی برنامه رو بدم !
    روش درستی هست !؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ایجاد کلاس دارای تابع گرافیکی و استفاده در فرم ها

    حقیقتش تا الان این کار رو انجام ندادم ولی شما می تونید سایر پارامترها مثل رنگ 1، 2، رنگ حاشیه، ضخامت رنگ حاشیه و حتی جهت توزیع رنگ (شما vertical رو به صورت پیش فرض نوشتید که حالتهای دیگه هم داره) توی متد تعریف کنید حالا می تونید چند تا حالت پیش فرض هم که از نظر شما زیبا هستند تعریف کنید که کاربر از بین اینها انتخاب کنه و یا امکانی داشته باشید که کاربر رنگهای دلخواهش رو انتخاب کنه.
    مثلاً میشه رشته هایی به صورت زیر داشت: red, white, yellow, 2, horizontal این میشه حالت 1، یا blue, white, 1, vertical میشه حالت 2 و ... که اینها رو مثلاً در یک combobox نمایش می دید. حالا وقتی کاربر یکی از اینها رو انتخاب کرد شما رشته رو با استفاده از کاراکتر (,) splite می کنید و به متد زیر پاس میدید. (رشته اول میشه c1، رشته دوم میشه c2، سومی میشه borderColor و ...)


    public static void GradiantBackColor(Graphics mGraphics, int width, int height, Color c1, Color c2, Color borderColor, int borderThickness, LinearGradientMode mode)
    {
    Pen pen1 = new Pen(borderColor, borderThickness);
    Rectangle Area1 = new Rectangle(0, 0, width - 1, height - 1);
    LinearGradientBrush LGB = new LinearGradientBrush(Area1, c1, c2, mode);
    mGraphics.FillRectangle(LGB, Area1);
    mGraphics.DrawRectangle(pen1, Area1);
    }


    شاید روشهای بهتری هم باشه چون قبلاً انجام ندادم این به ذهنم میرسه.

    ---------------------- ویرایش
    می دونید که برای رنگ متد FromName رو داریم:
    Color.FromName(textBox1.Text)

تاپیک های مشابه

  1. ایجاد کلاس x و پارس کردن فایل xml و استفاده آن در کلاس y
    نوشته شده توسط sina4everafter در بخش Android Studio
    پاسخ: 1
    آخرین پست: شنبه 04 مرداد 1393, 11:29 صبح
  2. پاسخ: 4
    آخرین پست: جمعه 27 بهمن 1391, 09:13 صبح
  3. نحوه ایجاد کلاس در DLL و استفاده از آن در برنامه
    نوشته شده توسط rayangostar_co در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 5
    آخرین پست: یک شنبه 10 دی 1391, 15:18 عصر
  4. آموزش: ایجاد برنامه با معماری سه لایه استفاده از کلاس و dataset
    نوشته شده توسط ICANICAN در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 06 دی 1390, 22:10 عصر
  5. سوال: مقدار دهی تابع پویا با استفاده از کلاس ( رفع اشکل + کمک )
    نوشته شده توسط MohammadReza.OmidAllah در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: پنج شنبه 12 خرداد 1390, 02:41 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •