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

نام تاپیک: ساخت usercontrol

  1. #1

    Question ساخت usercontrol

    سلام دوستان
    من می خوام یه یوزرکنترل بسازم که توش یه پیکچرباکس داشته باشه وکه وقتی توی برنامه دیگه استفاده می کنم تنظیمات این پیکچرباکس توسط یوزر انجام بشه. یعنی طول و عرض و ایمیجش رو یوزر بتونه بهش دسترسی داشته باشه و تغییر بده.
    تا بحال خودم یوزر کنترل نساختم توی برنامه نویس هم که سرچ می کنم ارور کانکشن می ده. لطفا کمک کنید

  2. #2
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: ساخت یوزر کنترل

    سلام...اگه منظورتون از دسترسی به صورت کد نویسی باشه باید موقع ساخت یوزرکنترل خاصیت Modifier کنترل مورد نظرتون مثلا PictureBox رو برابر public قرار بدید و وقتی طراحی تموم شد با این کد سایزش رو تغییر بدید و بقیه خاصیت ها...

    userControl11.pictureBox1.Size=new Size(10,120);
    یک نقطه بیشتر فرق بین رحیم و رجیم نیست...از نقطه ای بترس که شیطانیت می کند

    ________________________

  3. #3

    نقل قول: ساخت یوزر کنترل

    نقل قول نوشته شده توسط محمد رضا فاتحی مشاهده تاپیک
    سلام...اگه منظورتون از دسترسی به صورت کد نویسی باشه باید موقع ساخت یوزرکنترل خاصیت Modifier کنترل مورد نظرتون مثلا PictureBox رو برابر public قرار بدید و وقتی طراحی تموم شد با این کد سایزش رو تغییر بدید و بقیه خاصیت ها...

    userControl11.pictureBox1.Size=new Size(10,120);
    سلام ممنون از پاسختون.
    منظورم اینه که می خوام چندتا متغیر توی این یوزر کنترل تعریف کنم که یوزر بتونه اون ها رو تغییر بده و بهش دسترسی داشته باشهک

  4. #4
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: ساخت یوزر کنترل

    مشکلی نداره...شما متغیر های مورد نیازتون رو بصورت public تعریف کنید...و مثل کد بالا که خدمتتون عرض کردم استفاده کنید
    یک نقطه بیشتر فرق بین رحیم و رجیم نیست...از نقطه ای بترس که شیطانیت می کند

    ________________________

  5. #5

    نقل قول: ساخت یوزر کنترل

    نقل قول نوشته شده توسط محمد رضا فاتحی مشاهده تاپیک
    مشکلی نداره...شما متغیر های مورد نیازتون رو بصورت public تعریف کنید...و مثل کد بالا که خدمتتون عرض کردم استفاده کنید
    خوب من هم همین کار رو کردم ولی به فرض سایزی که من تعیین می کنم تاثیری توی سایز پیکچرباکسم نداره. یعنی سایز پیکچر باکس تغییر نمی کنه

  6. #6
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: ساخت یوزر کنترل

    یه جایی اشتباه کردید...تغییر می کنه
    یک نقطه بیشتر فرق بین رحیم و رجیم نیست...از نقطه ای بترس که شیطانیت می کند

    ________________________

  7. #7

    نقل قول: ساخت یوزر کنترل

    نقل قول نوشته شده توسط محمد رضا فاتحی مشاهده تاپیک
    یه جایی اشتباه کردید...تغییر می کنه
    من توی یوزر کنترل از روش زیر برای تعریف متغیر استفاده می کنم
    public int width;

    public int Width
    {
    get { return width; }
    set { width = value; }
    }
    public int height;


    public int Height
    {
    get { return height; }
    set { height = value; }


    }

  8. #8
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: ساخت یوزر کنترل

    اینو یه نگاه بکنید...
    فایل های ضمیمه فایل های ضمیمه
    یک نقطه بیشتر فرق بین رحیم و رجیم نیست...از نقطه ای بترس که شیطانیت می کند

    ________________________

  9. #9

    نقل قول: ساخت یوزر کنترل

    نقل قول نوشته شده توسط محمد رضا فاتحی مشاهده تاپیک
    اینو یه نگاه بکنید...
    خوب ببینید من می خوام داخل این پیکچرباکس بنویسم و شکل رسم کنم. این متغیری هم که تعریف کردم برای همینه. با این که من این متغیر رو توی فرم اصلی مقدار دهی می کنم ولی توی یوزرکنترلم مقدار دهی نمی شه. چطوری می تونم متغیرهامو مقدار دهی کنم؟؟؟؟

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

    نقل قول: ساخت usercontrol

    سلام
    شما دیگه به متغیر private نیاز ندارید و مستقیما در همون property سایز رو تغییر بدید:

    public int PicWidth        {

    get { return pictureBox1.Width; }

    set { pictureBox1.Width = value; }

    }


  11. #11

    نقل قول: ساخت usercontrol

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    شما دیگه به متغیر private نیاز ندارید و مستقیما در همون property سایز رو تغییر بدید:

    public int PicWidth        {

    get { return pictureBox1.Width; }

    set { pictureBox1.Width = value; }

    }

    می شه یه نمونه یوزر کنترل با set , get واسه من بزارید که مقدار متغیرهاشو از فرم اصلی بگیره؟؟؟؟

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

    نقل قول: ساخت usercontrol

    این نمونه رو ببینید:
    فایل های ضمیمه فایل های ضمیمه

  13. #13

    نقل قول: ساخت usercontrol

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    شما دیگه به متغیر private نیاز ندارید و مستقیما در همون property سایز رو تغییر بدید:

    public int PicWidth        {

    get { return pictureBox1.Width; }

    set { pictureBox1.Width = value; }

    }

    داداش میشه توضح بدین که set چرا مقدار value گرفته؟
    آیا باید همیشه این مقدارو بدیم؟
    اصلا این مقدار چیکار میکنه؟
    باز شرمنده که تو یه تاپیک دیگه سوال پرسیدم از صاحب تاپیک معذرت میخوام

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

    نقل قول: ساخت usercontrol

    نقل قول نوشته شده توسط black_shadow مشاهده تاپیک
    داداش میشه توضح بدین که set چرا مقدار value گرفته؟
    آیا باید همیشه این مقدارو بدیم؟
    اصلا این مقدار چیکار میکنه؟
    باز شرمنده که تو یه تاپیک دیگه سوال پرسیدم از صاحب تاپیک معذرت میخوام
    ببینید شما عرض یک پیکچرباکس رو در نظر بگیرید. دو تا کار میشه با این عرض انجام داد 1- بخونیم ببینیم عرضش چنده. 2- عرضش رو عوض کنیم. خب این "بخونیم ببینیم عرضش چنده" میشه get و "عرضش رو عوض کنیم" میشه set. پس اون set برای این مقدار گرفته که بتونیم عرض پیکچر باکس رو عوض کنیم.

    آیا باید همیشه این مقدار رو بدیم؟ نه لزوما. وقتی نیازی ندارید که عرض رو تغییر بدید نیازی هم به این قسمت نیست یعنی اون خط رو میشه کامنت کرد. یه چیزی داریم به اسم ReadOnly یا فقط خواندنی، منظور همینه یعنی فقط میشه بخونی، نمیشه روش بنویسی و تغییرش بدی.
    حتی میشه get رو کامنت کرد و فقط set رو تنظیم کرد.

  15. #15

    نقل قول: ساخت usercontrol

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    ببینید شما عرض یک پیکچرباکس رو در نظر بگیرید. دو تا کار میشه با این عرض انجام داد 1- بخونیم ببینیم عرضش چنده. 2- عرضش رو عوض کنیم. خب این "بخونیم ببینیم عرضش چنده" میشه get و "عرضش رو عوض کنیم" میشه set. پس اون set برای این مقدار گرفته که بتونیم عرض پیکچر باکس رو عوض کنیم.

    آیا باید همیشه این مقدار رو بدیم؟ نه لزوما. وقتی نیازی ندارید که عرض رو تغییر بدید نیازی هم به این قسمت نیست یعنی اون خط رو میشه کامنت کرد. یه چیزی داریم به اسم ReadOnly یا فقط خواندنی، منظور همینه یعنی فقط میشه بخونی، نمیشه روش بنویسی و تغییرش بدی.
    حتی میشه get رو کامنت کرد و فقط set رو تنظیم کرد.
    خوب من از همین روش استفاده کردم و لی با این طول و عرضی که من می دم پیکچرباکس رو رسم نمی کنه. در اصل با همون مقداری رسم می کنه که روی یوزرکنترل هست.
    preshow2.rarpreshow2.rar

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

    نقل قول: ساخت usercontrol

    من امتحان کردم مشکلی نداشت ولی شما از کجا میخواید مقدار دهی کنید اون تکست باکس و تابع picture که نوشتید چیه؟ اگه از داخل همون تکست باکس میخواید مقدار دهی کنید که به پراپرتی نیاز ندارید و توی textChanged یا validated تکست باکس میشه اندازه رو نوشت.

  17. #17

    نقل قول: ساخت usercontrol

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    من امتحان کردم مشکلی نداشت ولی شما از کجا میخواید مقدار دهی کنید اون تکست باکس و تابع picture که نوشتید چیه؟ اگه از داخل همون تکست باکس میخواید مقدار دهی کنید که به پراپرتی نیاز ندارید و توی textChanged یا validated تکست باکس میشه اندازه رو نوشت.
    نه می خوام از طریق کد مقدار دهی کنم. اون تکس باکس هم گذاشته بودم برای تست. اون تابع پیکچر هم برای اینه که وقتی اندازه ها ست شد بتونم توش تغییراتی رو روی پیکچر باکس بدم.

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

    نقل قول: ساخت usercontrol

    شما همین دو تا پراپرتی که می نویسم رو بنویسید بقیه رو پاک کنید:

    public int PicWidth        {


    get { return pictureBox1.Width; }

    set { pictureBox1.Width = value; }

    }

    public int PicHeight {


    get { return pictureBox1.Height; }


    set { pictureBox1.Height= value; }


    }



    حالا پروژه رو build کنید و مثلاً در یک باتن بنویسید:

    UserControl1.PicWidth=200;
    UserControl1.PicHeight=250;

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

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