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

نام تاپیک: طریقه ی ساخت کامپوننت در #C

  1. #1
    کاربر جدید
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    پست
    17

    طریقه ی ساخت کامپوننت در #C

    سلام دوستان
    خسته نباشید
    من یک پروژه دارم مینویسم که برای بعضی قسمتهای اون نیاز دارم یک کنترل یا کامپوننت جدید درست کنم
    مثلا صفحه دیجیتال یا یک progress bar به شکل دما سنج
    کسی میتونه کمک کنه یا یه ebook آموزشی در این رابطه معرفی کنه؟!!؟؟
    با تشکر

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1387
    پست
    8

    Question نقل قول: طریقه ی ساخت کامپوننت در #C

    به نام برنامه نویس دل های برنامه نویس
    شمام خسته نباشید.
    من تازه دارم سی شارپ کار میکن ولی تا حدودی با این سوالت سروکار داشتم.
    من از این طریق استفاده میکنم.مثلا کنترل جدید اسمش p هست پس:
    progressbar p=new progressbar();
    بعد از اینکه نوشتی میتونی از p در هرجا استفاده کنی البته باید بصورت سراسری تعریف کنی.منکه کارم با این راه افتاده.


  3. #3

    نقل قول: طریقه ی ساخت کامپوننت در #C

    progressbar p=new progressbar();
    از کدت پیداست که شما از یه کامپوننت موجود یدونه کپی ساختی و دقیقا خصوصیات اون رو به ارث بردی در حقیقت انگار یه ProcessBar رو فرمت بزاری و نامش رو قرار بدی P ...
    ایشون نحوه ی ساخت یک کامپوننت رو خواستن یعنی مثلا خودت یه processBar درست کنی و براش متد و ... تعریف کنی و 100 % با یه کد 1 خطی همچین کاری رو نمیشه انجام داد و این کار توسط بحث های پیشرفته ی برنامه نویسی (کلاس و ... ) انجام میشه ...
    آخرین ویرایش به وسیله Felony : سه شنبه 03 آبان 1390 در 00:38 صبح

  4. #4
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1387
    پست
    8

    نقل قول: طریقه ی ساخت کامپوننت در #C

    سلام دوست عزیز
    منم منظورم همینا بود
    من که نگفتم همین یه خط کافیه......
    من منظورم این بود که برا دسترسی باید اینو بنویسی بعد بقیه کارا رو انجام بدی

  5. #5
    کاربر دائمی آواتار jaza_sa
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    546

    Wink نقل قول: طریقه ی ساخت کامپوننت در #C

    نقل قول نوشته شده توسط rezakhafan4u مشاهده تاپیک
    سلام دوستان
    خسته نباشید
    من یک پروژه دارم مینویسم که برای بعضی قسمتهای اون نیاز دارم یک کنترل یا کامپوننت جدید درست کنم
    مثلا صفحه دیجیتال یا یک progress bar به شکل دما سنج
    کسی میتونه کمک کنه یا یه ebook آموزشی در این رابطه معرفی کنه؟!!؟؟
    با تشکر
    شما نیاز یه یک Composite Control دارید
    در این ضمینه شروع به تحقیق کنید
    برای شروع ، فکر میکنم این منبع بتونه کمکتون کنه
    http://msdn.microsoft.com/en-us/library/a6h7e207.aspx

    موفق باشید

  6. #6
    کاربر جدید
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    پست
    17

    نقل قول: طریقه ی ساخت کامپوننت در #C

    آقا از شما دوستان که به فکر ما هستید خیلی ممنون
    من شروع کردم به خوندن msdn ولی فکر نکنم به این زودیا موفق بشم...
    ضمن این، لطفا اگه کسی یکس از سه کامپوننت زیر رو تو اینترنت دیده یا تو یه مجموعه نرم افزاری دیده بهم آدرس یا لینکشو بده:
    1- یک progress bar بصورت عمودی و به شکل دماسنج ...
    2- یک صفحه ی دیجیتالی مثل صفحه ی ماشین حساب یا صفحه ی ساعت دیجیتال که یک عدد رو بگیره و نمایش بده ...
    3- یک نمایشگر عقربه ای که بشه مثلا یک چیزی مثل اهم متر های عقربه ای رو پیاده سازی کرد ( البته با درجه های خاص خودمون ) ...

    در ضمن اگر ebook یا آموزشی غیر از msdn نیز پیدا کردید یه لینک بزارید...

    خیلی خیلی ممنون

    یا حق

  7. #7

    نقل قول: طریقه ی ساخت کامپوننت در #C

    باسلام خدمت اخوی خودم ؟؟؟؟؟؟؟
    شما جهت ساختن یک کامپوننت باید یک پروژه جدید بگیرد وازWindowsFormsControlLibrary1 استفاده کنی مثلاَبرای ساختن یک کنترل تکس باکس که هنگامی که موس بر روی آن کلیک می کنه رنگش تغییر کنه ووقتی که فوکوس از دست می دهد رنگ آن به رنگ اول بر گردد با ید کد مربوطه رو در رویداد
    ,mouseenter-MouseLeave

    یک تکس باکس بنویسید وپروژه رو اجرا بدید واز DLL ساخته شده در پروژه های بعدی بجای یک تکس باکس از این استفاده ببری وحال کنی
    امید که این موارد بیشتر کیچت نکرده باشه!!!!!!!!!!!!!

    این هم کدش :


    privatevoid textBox1_MouseEnter(object sender, EventArgs e)

    {

    ((

    TextBox)sender).BackColor = Color.Yellow;

    }



    privatevoid textBox1_MouseLeave(object sender, EventArgs e)

    {

    ((



    }



  8. #8

    نقل قول: طریقه ی ساخت کامپوننت در #C

    سلام عليکم دوستان
    1-فرمت(پسوند)ي که کامپوننت رو ساختيم تو سي شارپ چيه؟
    2-براي مثال من يک پروژه از نوع WindowsFormsControlLibrary1 باز ميکنم و کامپوننتم رو طراحي و ميسازم.حالا بايد چه طوري اون کامپوننت رو ذخيره کنم؟
    3-چه طور از اون کامپوننتي که ساختم بايد تو WindowsFormsApplication استفاده کنم؟
    ببخشيد دوستان که سوالاتم مبتديه چون من تاحالا تو سي شارپ کامپوننت نساختم.

    موفق باشيد

  9. #9
    کاربر دائمی آواتار nunegandom
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    الان اصفهان
    سن
    32
    پست
    828

    نقل قول: طریقه ی ساخت کامپوننت در #C

    سلام، یه آموزش چند خطی:
    برای ساخت کامپوننت یک classlibrary میسازید (پسوند dll)
    بعد از نوع چیزی که میخواهید بسازید ارث بری میکنید.(مثلا از textbox برای ارث بری میکنید)
    و رفرنس های مورد نیازش رو اضافه میکنید.
    داخل کلاستون از کلمه this استفاده میکنید.(مثلا this.color.folan)
    برای ساخت پروپرتی که تویه محیط گرافیکی نمایش داده میشه میتونید اینجوری عمل کنید:
    ;bool myBooll اولین حرف رو کوچیک بنویسید!
    بعد روی myBool راست کلیک کنید و از گزینه Refactor گزینه Encapsulate کلیک میکنید.
    تمام!
    برای اینکه مثله گزینه items در پروپرتیتون داشته باشیدباید از string[] استفاده کنید.

    ذخیره کردنش هم با build میتونید اون رو تولید کنید!
    برای استفاده کردن از کامپوننت، باید اون رو add refrence کنید.(فایل dll)

  10. #10
    کاربر دائمی آواتار nunegandom
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    الان اصفهان
    سن
    32
    پست
    828

    نقل قول: طریقه ی ساخت کامپوننت در #C

    همونطور ک گفتم: add refrence

  11. #11

    نقل قول: طریقه ی ساخت کامپوننت در #C

    من يك نمونه واسط توضيح ميدم در اين نمونه من ميخوام يك پراپرتي بنام FocusBackColor به تكست باكس اضافه كنم كه كاربر بتواند آنرا مقدار دهي كند تا در هنگام ورود(enter) و خروج (validate) اين مقدارها در بك كالر تكست باكس مقدار دهي شود:
    براي شروع كافيست يك پروژه جديد بسازيد و سپس يك كلاس جديد بسازيد.
    حالا كد زير را در آن كلاس كپي كنيد پروژه را ذخيره كنيد و از آن يكبار Build بگيريد (Ctrl+Shift+B)
    حالا به فرم برنامه برگرديد در نوار ابزار ابزاري بنام txtpronet اضافه شده است.
    ميتوانيد آنرا روي فرم بگذاريد و از آن استفاده كنيد.
    چنانچه قصد داريد اين ابزار بصورت فايل مجزا و بصورت dll باشد كافيست فرم را حذف كنيد و از فايل program.cs خط Application.run را حذف كنيد سپس به properties پروژه رفته و نوع آنرا به ClassLibrary تغيير نام دهيد .حالا يكبار بيلد بگيريد (Ctrl+Shift+B) .فايل dll ساخته شده را از شاخه Relase برداريد.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    namespace TextBoxtest
    {
    //نام كنترلي كه ميخواي درستش كني و نوعي كه داري ازش ارث بري ميكني رو ميذاري
    publicpartialclassTxtProNet : System.Windows.Forms.TextBox
    {
    //تعريف متغيرهاي خصوصي كلاس براي استفاده از آنها در موارد نياز
    private System.Drawing.Color FBC = Color.Yellow;
    private System.Drawing.Color LFBC;
    //نام پراپرتي كه مي خواهيم به كلاس اضافه كنيم
    public System.Drawing.Color FocusBackColor
    {
    //هنگام خواندن مقداري كه قرار است به ما نشان دهد برميگردانيم
    get
    {
    return FBC;
    }
    //مقداري كه موقع مقدار دهي از كاربر دريافت ميشود را در پراپرتي اعمال ميكنيم
    set
    {
    FBC =
    value;
    }
    }
    //رويدادهايي كه براي تغيير پراپرتي نياز داريم به اين صورت تعريف ميكنيم
    protectedoverridevoid OnEnter(EventArgs e)
    {
    LFBC =
    this.BackColor;
    //اين خط را براي آن ميگذاريم كه خود رويداد اصلي خراب نشود
    base.OnEnter(e);
    }
    protectedoverridevoid OnValidated(EventArgs e)
    {
    this.BackColor = LFBC;
    base.OnValidated(e);
    }
    }
    }

  12. #12

    نقل قول: طریقه ی ساخت کامپوننت در #C

    نقل قول نوشته شده توسط ali_habibi1384 مشاهده تاپیک
    من يك نمونه واسط توضيح ميدم در اين نمونه من ميخوام يك پراپرتي بنام FocusBackColor به تكست باكس اضافه كنم كه كاربر بتواند آنرا مقدار دهي كند تا در هنگام ورود(enter) و خروج (validate) اين مقدارها در بك كالر تكست باكس مقدار دهي شود:
    براي شروع كافيست يك پروژه جديد بسازيد و سپس يك كلاس جديد بسازيد.
    حالا كد زير را در آن كلاس كپي كنيد پروژه را ذخيره كنيد و از آن يكبار Build بگيريد (Ctrl+Shift+B)
    حالا به فرم برنامه برگرديد در نوار ابزار ابزاري بنام txtpronet اضافه شده است.
    ميتوانيد آنرا روي فرم بگذاريد و از آن استفاده كنيد.
    چنانچه قصد داريد اين ابزار بصورت فايل مجزا و بصورت dll باشد كافيست فرم را حذف كنيد و از فايل program.cs خط Application.run را حذف كنيد سپس به properties پروژه رفته و نوع آنرا به ClassLibrary تغيير نام دهيد .حالا يكبار بيلد بگيريد (Ctrl+Shift+B) .فايل dll ساخته شده را از شاخه Relase برداريد.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    namespace TextBoxtest
    {
    //نام كنترلي كه ميخواي درستش كني و نوعي كه داري ازش ارث بري ميكني رو ميذاري
    publicpartialclassTxtProNet : System.Windows.Forms.TextBox
    {
    //تعريف متغيرهاي خصوصي كلاس براي استفاده از آنها در موارد نياز
    private System.Drawing.Color FBC = Color.Yellow;
    private System.Drawing.Color LFBC;
    //نام پراپرتي كه مي خواهيم به كلاس اضافه كنيم
    public System.Drawing.Color FocusBackColor
    {
    //هنگام خواندن مقداري كه قرار است به ما نشان دهد برميگردانيم
    get
    {
    return FBC;
    }
    //مقداري كه موقع مقدار دهي از كاربر دريافت ميشود را در پراپرتي اعمال ميكنيم
    set
    {
    FBC =
    value;
    }
    }
    //رويدادهايي كه براي تغيير پراپرتي نياز داريم به اين صورت تعريف ميكنيم
    protectedoverridevoid OnEnter(EventArgs e)
    {
    LFBC =
    this.BackColor;
    //اين خط را براي آن ميگذاريم كه خود رويداد اصلي خراب نشود
    base.OnEnter(e);
    }
    protectedoverridevoid OnValidated(EventArgs e)
    {
    this.BackColor = LFBC;
    base.OnValidated(e);
    }
    }
    }
    ميشه بيشتر توضيح بديد؟

  13. #13

    نقل قول: طریقه ی ساخت کامپوننت در #C

    نقل قول نوشته شده توسط ali_habibi1384 مشاهده تاپیک
    من يك نمونه واسط توضيح ميدم در اين نمونه من ميخوام يك پراپرتي بنام FocusBackColor به تكست باكس اضافه كنم كه كاربر بتواند آنرا مقدار دهي كند تا در هنگام ورود(enter) و خروج (validate) اين مقدارها در بك كالر تكست باكس مقدار دهي شود:
    براي شروع كافيست يك پروژه جديد بسازيد و سپس يك كلاس جديد بسازيد.
    حالا كد زير را در آن كلاس كپي كنيد پروژه را ذخيره كنيد و از آن يكبار Build بگيريد (Ctrl+Shift+B)
    حالا به فرم برنامه برگرديد در نوار ابزار ابزاري بنام txtpronet اضافه شده است.
    ميتوانيد آنرا روي فرم بگذاريد و از آن استفاده كنيد.
    چنانچه قصد داريد اين ابزار بصورت فايل مجزا و بصورت dll باشد كافيست فرم را حذف كنيد و از فايل program.cs خط Application.run را حذف كنيد سپس به properties پروژه رفته و نوع آنرا به ClassLibrary تغيير نام دهيد .حالا يكبار بيلد بگيريد (Ctrl+Shift+B) .فايل dll ساخته شده را از شاخه Relase برداريد.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    namespace TextBoxtest
    {
    //نام كنترلي كه ميخواي درستش كني و نوعي كه داري ازش ارث بري ميكني رو ميذاري
    publicpartialclassTxtProNet : System.Windows.Forms.TextBox
    {
    //تعريف متغيرهاي خصوصي كلاس براي استفاده از آنها در موارد نياز
    private System.Drawing.Color FBC = Color.Yellow;
    private System.Drawing.Color LFBC;
    //نام پراپرتي كه مي خواهيم به كلاس اضافه كنيم
    public System.Drawing.Color FocusBackColor
    {
    //هنگام خواندن مقداري كه قرار است به ما نشان دهد برميگردانيم
    get
    {
    return FBC;
    }
    //مقداري كه موقع مقدار دهي از كاربر دريافت ميشود را در پراپرتي اعمال ميكنيم
    set
    {
    FBC =
    value;
    }
    }
    //رويدادهايي كه براي تغيير پراپرتي نياز داريم به اين صورت تعريف ميكنيم
    protectedoverridevoid OnEnter(EventArgs e)
    {
    LFBC =
    this.BackColor;
    //اين خط را براي آن ميگذاريم كه خود رويداد اصلي خراب نشود
    base.OnEnter(e);
    }
    protectedoverridevoid OnValidated(EventArgs e)
    {
    this.BackColor = LFBC;
    base.OnValidated(e);
    }
    }
    }
    سلام دوست گرامی من همین کد رو عینا کپی کردم برنامه هم خطا نداد ولی رنگ تکست که تغییر نمیکنه چرا ؟ میشه یک کمی توضیح بدید ممنون میشویم

  14. #14

    نقل قول: طریقه ی ساخت کامپوننت در #C

    نقل قول نوشته شده توسط rezakhafan4u مشاهده تاپیک
    سلام دوستان
    خسته نباشید
    من یک پروژه دارم مینویسم که برای بعضی قسمتهای اون نیاز دارم یک کنترل یا کامپوننت جدید درست کنم
    مثلا صفحه دیجیتال یا یک progress bar به شکل دما سنج
    کسی میتونه کمک کنه یا یه ebook آموزشی در این رابطه معرفی کنه؟!!؟؟
    با تشکر
    سلام دوست عزیز
    در آدرسی که در زیر نوشته ام می تونیند یک ایبوک خوب درباره آموزش ساخت کامپوننت در سی شارپ، دانلود کنید.
    http://www.sadracsharp.blogfa.com/post/52

  15. #15

    نقل قول: طریقه ی ساخت کامپوننت در #C

    1.jpg

    ProgressBar عمودی و با قابلیت تغییر رنگ

    موفق

    فایل های ضمیمه فایل های ضمیمه

  16. #16
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    خوی
    پست
    454

    نقل قول: طریقه ی ساخت کامپوننت در #C

    نقل قول نوشته شده توسط MOSARISHEHRY مشاهده تاپیک
    باسلام خدمت اخوی خودم ؟؟؟؟؟؟؟
    شما جهت ساختن یک کامپوننت باید یک پروژه جدید بگیرد وازWindowsFormsControlLibrary1 استفاده کنی مثلاَبرای ساختن یک کنترل تکس باکس که هنگامی که موس بر روی آن کلیک می کنه رنگش تغییر کنه ووقتی که فوکوس از دست می دهد رنگ آن به رنگ اول بر گردد با ید کد مربوطه رو در رویداد
    ,mouseenter-MouseLeave

    یک تکس باکس بنویسید وپروژه رو اجرا بدید واز DLL ساخته شده در پروژه های بعدی بجای یک تکس باکس از این استفاده ببری وحال کنی
    امید که این موارد بیشتر کیچت نکرده باشه!!!!!!!!!!!!!

    این هم کدش :


    privatevoid textBox1_MouseEnter(object sender, EventArgs e)

    {

    ((

    TextBox)sender).BackColor = Color.Yellow;

    }



    privatevoid textBox1_MouseLeave(object sender, EventArgs e)

    {

    ((



    }


    با سلام و خسته نباشید.
    من وقتی یک پروژه جدید تو سی شارپ باز می کنم هر چی نگاه کردم گزینه Windows Forms Controll Library رو نتونستم پیدا کنم. ویژوال استودیو رو هم کامل نصب کردم. مشکل از کجا می تونه باشه؟
    ممنون میشم راهنماییم کنین

  17. #17
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    نقل قول: طریقه ی ساخت کامپوننت در #C

    سلام
    اینم عکسش
    windowsformscontrollibrary.jpg

  18. #18
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: طریقه ی ساخت کامپوننت در #C

    خيلي كار سختي نيست. اين چيزايي كه دوستان توضيح دادند بيشتر customize كردن يك كنترل مثلا textbox بود. براي كار شما كه چند كنترل باهم بايد تركيب بشند ميتوني از User Control استفاده كني. روي اسم پروژه در Solution Explorer كليك راست كن و Add User Control بزن تا يك usercontrol اضافه بشه. روي usercontrol ميتوني كنترل هاي كه ميخاي اضافه كني مثلا progressbar و يك textbox.
    براي دسترسي و مقدار دادن به progressbar هم يك پروپرتي تعريف ميكني :

    Public int Value
    {
    set {
    progressbar1.value=value;
    textbox1.text=value.tostring();
    }
    get{
    return progressbar1.value;}



    پروژه كه يكبار كامپايل بشه اين usercontrol به بالاي toolbox اضافه ميشه و ميتوني ازش استفاده كني.
    فرض كنيم يه دونه با اسم usercontrol1 به فرم اضافه كردي با دستور usercontrol1.Value=10; هر دوي progressbar و textbox مقدار 10 ميگيرند.

  19. #19
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    نقل قول: طریقه ی ساخت کامپوننت در #C

    سلام
    این لینک را ببین
    https://barnamenevis.org/showthread.p...8%D8%B1%D8%B3)

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

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