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

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




صفحه 1 از 4 1234 آخرآخر
نمايش نتايج 1 به 10 از 35

نام تاپيک: کارگاه کامپوننت و دی ال ال

  1. #1
    آخر فروم باز shalineh's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    فعلا ایران
    پست ها
    1,033

    پيش فرض کارگاه کامپوننت و دی ال ال

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

  2. #2
    آخر فروم باز shalineh's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    فعلا ایران
    پست ها
    1,033

    پيش فرض آموزش ساخت لیبل پیشرفته - قسمت اول

    برای شروع کار ، میخواهیم یک لیبل بسازیم که بسیار متفاوت تر و پیشرفته تر از لیبل موجود در دات نت خواهد بود.
    برخی از خصوصیات لیبل که فعلا مد نظر ما هستند عبارتند از :
    نوشتن روی لیبل، با رنگهای مختلف و با درجه چرخش مختلف.
    بک گراند تک رنگ، چند رنگ و گرادیانت.
    خاصیت Image با اپشنهایی مثل Tile و Stretch و Zoom و عیره.
    اتوسایزلیبل به اندازه متن موجود در آن.
    امکان گرفتن فوکوس.
    و ...
    دوستان اگه خصوصیات دیگری مد نظرشون بود، اعلام کنند تا آموزش داده شود.
    ********************************
    خب ، شروع میکنیم.
    ابتدا از منوی New Project گزینه Windows Control Library را انتخاب کنید. نام Advanced Label رو برای آن تایپ کرده و کلید Ok را فشار دهید.
    حالا برنامه را Save کنید.

    مهمترین پراپرتی که یک لیبل باید داشته باشد، پراپرتی text می باشد. اما اگر شما در پنجره پراپرتی ، لیست خصوصیات را ببینید، چیزی به این نام پیدا نمیکنید. پس باید این پراپرتی را خودمان بسازیم.
    برای تعریف یک پراپرتی ، یک فرمول کلی وجود دارد که در زیر نوشته شده است:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در پروژه فعلی برای ساخت پراپرتی تکست لیبل، اینگونه عمل میکنیم:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by shalineh; 24-04-2008 at 18:19.

  3. #3
    آخر فروم باز shalineh's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    فعلا ایران
    پست ها
    1,033

    پيش فرض آموزش ساخت لیبل پیشرفته - قسمت دوم

    بعد از ساخت پراپرتی Caption ، پروژه رو اجرا کنید. می بینید که پراپرتی جدید به لیست پراپرتیها اضافه شده، اما هیچ مقداری ندارد و با تغییر آن نیز هیچ اتقاقی نمی افتد. خب ، این برای اینه که ما هنوز برنامه رو بصورت کامل عملیاتی نکردیم و هنوز گامهای زیادی تا پایان کار پیش رو داریم.
    توجه داشته باشید که در تعریف یک پراپرتی ، بهتر است مقدار اولیه و پیشفرض آنرا نیز تعیین کنید. پس برای تعین مقدار پیش فرض ، بصورت زیر عمل میکنیم:
    به ابتدای پروژه ( خط اول ) عبارت زیر را اضافه نمایید:
    Imports System.ComponentModel
    و تعریف پراپرتی را به صورت زیر تغییر دهید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پروژه رو مجددا اجرا کنید. میبینید که مقدار اولیه در پراپرتی Caption نمایش داده میشود. خب، دیگه کار ما با این پراپرتی تموم شده و در هرجای برنامه میتونیم از مقدار آن استفاده کنیم و آنرا به کاربر نشان دهیم. برای نمایش مقدار caption ، در پروژه فعلی، از رویداد paint استفاده خواهیم کرد. ( رویداد paint قلب پروژه ما خواهد بود).
    پس برای شروع، رویداد paint رو به پروژه اضافه میکنیم و آنرا بصورت زیر تکمیل میکنیم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    [/LEFT]

    پروژه رو اجذا کنید. همانطوریگه ملاحظه می کنید مقدار پیشفرض Caption بر روی کنترل نوشته شده است. حالا مقدار Caption را تغییر دهید. چه اتقاقی روی میدهد؟
    ادامه دارد.

  4. #4
    آخر فروم باز shalineh's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    فعلا ایران
    پست ها
    1,033

    پيش فرض آموزش ساخت لیبل پیشرفته - قسمت سوم

    قبل از ادامه بحث، خاصیت AutoScaleMode کنترل رو به None تغییر دهید. این کار بدین منظور انجام میشود که با تغییر اندازه فونت کنترل، اندازه خود کنترل تغییر نکند. این تغییر بسیار مهم است و در بخشهای بعدی از آن استفاده خواهیم کرد.
    در این بخش به یکی از خاصیتهای مهم کنترل خود خواهیم پرداخت و آن عبارت است از AutoSize .
    اگر هم اکنون برنامه رو اجرا کنید و خاصیت اتوسایز رو تغییر دهید میبینید که هیچ اتفاقی روی نمیدهد. این وظیفه برنامه نویس هست که این خاصیت رو راهبری کند. چون این پراپرتی بصورت پیشفرض در لیست پراپرتیها وجود دارد ، از تعریف مجدد آن خودداری کرده و به جای آن کدهای مورد نظر رو در رویداد AutoSizeChanged خواهیم نوشت.
    هدف چیست؟ هدف ما در این قسمت این است که وقتی خاصیت اتو سایز به True ست شد، اندازه کنترل برابر با طول متن آن شود. برای نیل به این هدف ابتدا متغیر MySize رو از نوع Size بصورت گلوبال تعریف میکنیم و رویداد AutoSizeChanged رو بصورت زیر تکمیل میکنیم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    رویدادهای Load و SizeChanged رو هم بصورت زیر تکمیل میکنیم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این دستورات برای این است که کاربر بتونه با تغییر مقدار اتوسایز، تغییرات رو بصورت RealTime مشاهده کنه.
    در نهایت رویداد paint رو هم بصورت زیر تغییر میدهیم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برنامه رو اجرا کنید و با تغییر مقدار اتوسایز، نتیجه رو ببینید. در حالت AutoSize=True مقدار caption را هم تغییر داده و حاصل کار را تماشا کنید.
    خب تا اینجا اگر سوالی باشه در خدمت شما هستم.
    ادامه دارد.

  5. #5
    حـــــرفـه ای Ultimator's Avatar
    تاريخ عضويت
    May 2007
    محل سكونت
    NetFrameWork.
    پست ها
    3,239

    پيش فرض

    سلام به همه
    منم ميتونم اين اولاش کمک کنم ، خوبه که از مقدمات شروع کردين تا همه بتونن استفاده کنن . با اين وجود منم يه آموزش ساده مينويسم .
    با تشکر از شما و همه ی دوستانی که زحمت ميکشند

  6. #6
    آخر فروم باز Bracket's Avatar
    تاريخ عضويت
    Apr 2008
    پست ها
    1,064

    پيش فرض

    من دارم یه PictureGallery کامل (تحت web) با امکان ذخیره و خواندن از DataBase یا ServerPath با امکانات خیلی زیادی مثل ساخت Thumbnail اتوماتیک (بدون کاهش کیفیت) یا سایز , امکان ذخیره Thumbnail و یا ذخیره عکس با هرنوع Mime , امکان خروجی گرفتن به صورت لیست Repeater یا Datalist و خیلی چیزهای دیگه که هنوز فکرش رو نکردم ولی کم کم به فکرم میرسه , دارم کد میزنم وقتی کامل بشه میزارم (البته اگه خیلی کامل بشه شاید برم بفروشمش ) تا بقیه هم اگه خواستن استفاده کنن البته یکمی زیاده کارش ممکنه طول بکشه .
    Last edited by Bracket; 24-04-2008 at 22:25.

  7. #7
    حـــــرفـه ای Ultimator's Avatar
    تاريخ عضويت
    May 2007
    محل سكونت
    NetFrameWork.
    پست ها
    3,239

    پيش فرض numericTXT قسمت اول

    ميدونم خيلی سادست ولی اين کامپوننت يه تکست باکسه که فقط عدد دريافت ميکنه و اون رو سه رقم سه رقم جدا ميکنه اميدوارم به دردتون بخوره

    مثل همه ی کامپوننت ها يه پروژه از نوع windows forms control library ميسازيم
    بعد به جای يوزر کنترل يه custom control اظافه ميکنيم .
    و بعد در زير نام کلاس اين کنترل رو به عنوان وراثتی از تکست باکس معرفی ميکنيم

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا برای اينکه چيزی جز عدد دريافت نکنه اين کد رو مينويسيم خيلی آسونه

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا ميخوايم 3 رقم 3 رقم عددها از هم با يک کاما جدا شند

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    شرطی که مقدار متغير text_excludeCama رو چک ميکنه به اين علته که به کاربر اين امکان رو بديم تا بتونه اين قابليت رو از کنترل کم يا اظافه کنه


    فرمت متن رو هم تعيين ميکنيم و اين هم اظافه ميکنيم که بعد از هر بار اظافه شدن کاما اشاره گر به آخر متن بره ، اگه اين کار رو انجام نديم هر دفعه اشاره گر به اول متن برميگرده ، برای رفع اين مساله از تابع ارسال کليد استفاده ميکنيم .


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خوب کاربر از کجا بايد اين مقدار text_excludeCama رو تقيير بده ؟ با يه پراپرتی که شالينه جان توضيح دادن

    ..... ادامه دارد

  8. #8
    حـــــرفـه ای Ultimator's Avatar
    تاريخ عضويت
    May 2007
    محل سكونت
    NetFrameWork.
    پست ها
    3,239

    10 numericTXT قسمت دوم

    خب داشتيم ميگفتيم ... بعله برای تقيير اون مقدار يک پراپرتی ايجاد ميکنيم به اين صورت
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خوب يه خطشو که شالينه جان توضيح دادن
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه اين رو قبل از پراپرتی قرار بديم پراپرتی ما به جای گروه
    misc به گروه مشخص شده ميره مثلا در اينجا به گروه Behavior ميره

    حالا يه مساله ميمونه اگه تعداد کاراکتر های وارد شده در تکست باکس از مقدار Decimalبيشتر بشه برنامه يه خطای وحشتناک ميده و حتی برای مدتی سيستم قفل ميکنه ! پس بايد جلو گيری بشه پس اين کد رو اضافه ميکنيم تا هنگام ايجاد شدن کامپوننت اجرا بشه و max length اون رو به مقدار مناسب تغيير بده

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    البته اينو به کمک شالينه خانوم قبل پست کردنش اصلاح کردم همچنين يه مورد ديگه رو!
    خب تموم شد ، همين ... حالا يه کنترل داريم که شبيه تکست باکسه و فقط عدد دريافت ميکنه
    البته قصد داشتم چند قابليت ديگه هم اضافه کنم که به پيشنهاد دوستان اين کارو نکردم تا همينطور ساده بمونه .


    حالا وقت بيلد کردن پروجست تا نتيجه کار رو ببينيم . ميتونيم يه پروجه ديگه هم به اين سولوشن اضافه کنيم تا از اين کنترل استفاده کنه .
    و يا dll ايجاد شده رو هر جا که خاستيم استفاده کنيم .

    دانلود پروژه سمپل به همراه سورس کامل


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    البته ميدونم اين آموزش بسيار بسيار ساده بود ، ولی اگه کسی از اساتيد مشکلی عمل غير منطقی چيزی در کدها مشاهده فرموديد ما را از راهنمايی های پر لطف خود محروم ننماييد ،




    اگه تو آموزش مشکلی بود يا نکته مبهمی من در خدمتم . و شرمنده از اشتباهاتم


    موفق باشيد




  9. #9
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2008
    پست ها
    1

    پيش فرض

    ;سلام
    میخواهم رکوردی که در datagrid نمایش داده شده را در یک فرم دیگر برای نمایش یا ویرایش بازکنم
    امکان تایید یا انصراف هم وجود داشته باشد
    در vb.net 2001 یا vb.net 2003

  10. #10
    آخر فروم باز Bracket's Avatar
    تاريخ عضويت
    Apr 2008
    پست ها
    1,064

    پيش فرض

    ;سلام
    میخواهم رکوردی که در datagrid نمایش داده شده را در یک فرم دیگر برای نمایش یا ویرایش بازکنم
    امکان تایید یا انصراف هم وجود داشته باشد
    در vb.net 2001 یا vb.net 2003
    دقیقا متوجه منظورتون نشدم , ولی خوب برید دوباره از Database بخونید مشکلش چیه .

صفحه 1 از 4 1234 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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