تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 3 از 3

نام تاپيک: چگونه كنترلهاي جديد بسازيم.

  1. #1
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض چگونه كنترلهاي جديد بسازيم.

    خيلي از مواقع پيش مياد كه نياز به كنترلهاي خاص پيدا ميكنيم و گاهي هم كارهاي جديدي از يك كنترل ميخواهيم كه ندارد. براي حل چنين مشكلاتي بهترين راه آموختن راه ساخت اين كنترلها است.
    هدف از اين پست آشنا شدن دوستان با روند ساخت اين كنترلها است كه به مرور بحث را گسنرده تر و پيشرفته تر ميكنيم.
    در VB.NET براي ساخت يك كنترل كاربر (User control) جديد، فرمان File|new|Project را انتخاب ميكنيم. در پنجره پروژه جديد از قسمت Templates آيتم Windows control library را انتخاب كرده و با انتخاب نام مناسبي OK ميكنيم.
    فرمي كوچكي همانند فرمهاي معمول باز ميشود.اين فرم يك جانگهدار براي ساير كنترلهاي معمول ويندوز است.
    هدف از اين قسمت فقط آشنايي با روش ساخت خصوصيت جديد (Property)، متد جديد و رويداد جديد است.
    يك كنترل برچسب (Lable) بر روي فرم جديد قرار داده و تمام سطح فرم را با آن مي پوشانيم.
    قسمت 1 : اضافه كردن خاصيت جديد
    مي خواهيم خاصيتي به نام Fillcolor به كنترل جديد اضافه كنيم كه بتواند رنگ كنترل را ست كند(در واقع اين خاصيت را به خاصيت Backcolor برچسب نسبت ميدهيم).طراح كد را باز كرده(دبل كليك يا راست كليك و انتخاب view code )، براي اضافه كردن خاصيت جديد بايد از دستور Property استفاده كنيم. براي ذخيره مقدار خاصيت جديدمان از يك شيء Color بنام Fcolor استفاده ميكنيم و با متدهاي Get و Set بترتيب مقدار آنرا خوانده و يا مينويسم.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    Last edited by anvar.net; 02-05-2007 at 00:50.

  2. #2
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض قسمت دوم

    اضافه كردن متد جديد
    براي كنترل قسمت قبلمون ميخواهيم يك متدي اضافه كنيم كه بتوان متن كنترل را ست كرد. براي اين كه متد ما در خارج از كنترل نيز در دسترس باشد بايد آنرا بصورت Public تعريف كنيم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اضافه كردن رويداد جديد
    براي اضافه كردن رويداد جديد از دستور Event و متد RaiseEvent استفاده ميكنيم. مي خواهيم رويدادي بنويسيم كه هنگام تغيير متن برچسب وسط كنترل رخ بدهد(Textchange)

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    براي كامپايل كنترل فوق بصورت يك فايل DLL مجزا از فرمان Build|Build solution استفاده ميكنيم.
    با اجراي اين فرمان يك فايل DLL در محل ذخيره پروژه در پوشه bin ساخته ميشود كه براي اضافه كردن آن به فرم از toolbox و add\remove items استفاده ميكنيم.
    در روزهاي آينده بحث را تخصصي تر مطرح ميكنيم ........

  3. #3
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    خوب است، اگر آموزش مقدمات VB.Net باشد ، دوستان میتوانند استفاده کنند، من هم به در حال تایپ و تکمیل یک بلوک کال آموزش VB.Net هستم ولی در زمان محدودیت دارم ولی اگر به حد کافی ای تایپ هایم به حد کافی ای برسد، آنها را در دسترس عموم قرار میدهم.

    با اجازه کاربر anvar.net و برای تنها نبودن ایشان!
    رویداد ها را بهتر است از نوع استاندارد EventHandler تعریف کنم (همان که یک Sender دارد و یک پارامتر e !!)
    و برای راحتی کار میتوان به جای تایپ تمام آرگومانهاف کل یک Event را از نوع یک Delegate تعریف کرد! (فعلاَ فقط بدانید که Delegate های همان امضاهای دجیتال توابع هستند و تعداد و نوع هر پارامتر را معرفی میکنند.)
    صرفاَ به دو کد زیر دقت کنید، هر دو کد عیناَ یک کار را انجام میدهند.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •