نقل قول: ساخت usercontrol
سلام
شما دیگه به متغیر private نیاز ندارید و مستقیما در همون property سایز رو تغییر بدید:
public int PicWidth {
get { return pictureBox1.Width; }
set { pictureBox1.Width = value; }
}
نقل قول: ساخت usercontrol
نقل قول:
نوشته شده توسط
Mahmoud Zaad
سلام
شما دیگه به متغیر private نیاز ندارید و مستقیما در همون property سایز رو تغییر بدید:
public int PicWidth {
get { return pictureBox1.Width; }
set { pictureBox1.Width = value; }
}
می شه یه نمونه یوزر کنترل با set , get واسه من بزارید که مقدار متغیرهاشو از فرم اصلی بگیره؟؟؟؟
1 ضمیمه
نقل قول: ساخت usercontrol
نقل قول: ساخت usercontrol
نقل قول:
نوشته شده توسط
Mahmoud Zaad
سلام
شما دیگه به متغیر private نیاز ندارید و مستقیما در همون property سایز رو تغییر بدید:
public int PicWidth {
get { return pictureBox1.Width; }
set { pictureBox1.Width = value; }
}
داداش میشه توضح بدین که set چرا مقدار value گرفته؟
آیا باید همیشه این مقدارو بدیم؟
اصلا این مقدار چیکار میکنه؟
باز شرمنده که تو یه تاپیک دیگه سوال پرسیدم از صاحب تاپیک معذرت میخوام
نقل قول: ساخت usercontrol
نقل قول:
نوشته شده توسط
black_shadow
داداش میشه توضح بدین که set چرا مقدار value گرفته؟
آیا باید همیشه این مقدارو بدیم؟
اصلا این مقدار چیکار میکنه؟
باز شرمنده که تو یه تاپیک دیگه سوال پرسیدم از صاحب تاپیک معذرت میخوام
ببینید شما عرض یک پیکچرباکس رو در نظر بگیرید. دو تا کار میشه با این عرض انجام داد 1- بخونیم ببینیم عرضش چنده. 2- عرضش رو عوض کنیم. خب این "بخونیم ببینیم عرضش چنده" میشه get و "عرضش رو عوض کنیم" میشه set. پس اون set برای این مقدار گرفته که بتونیم عرض پیکچر باکس رو عوض کنیم.
آیا باید همیشه این مقدار رو بدیم؟ نه لزوما. وقتی نیازی ندارید که عرض رو تغییر بدید نیازی هم به این قسمت نیست یعنی اون خط رو میشه کامنت کرد. یه چیزی داریم به اسم ReadOnly یا فقط خواندنی، منظور همینه یعنی فقط میشه بخونی، نمیشه روش بنویسی و تغییرش بدی.
حتی میشه get رو کامنت کرد و فقط set رو تنظیم کرد.
1 ضمیمه
نقل قول: ساخت usercontrol
نقل قول:
نوشته شده توسط
Mahmoud Zaad
ببینید شما عرض یک پیکچرباکس رو در نظر بگیرید. دو تا کار میشه با این عرض انجام داد 1- بخونیم ببینیم عرضش چنده. 2- عرضش رو عوض کنیم. خب این "بخونیم ببینیم عرضش چنده" میشه get و "عرضش رو عوض کنیم" میشه set. پس اون set برای این مقدار گرفته که بتونیم عرض پیکچر باکس رو عوض کنیم.
آیا باید همیشه این مقدار رو بدیم؟ نه لزوما. وقتی نیازی ندارید که عرض رو تغییر بدید نیازی هم به این قسمت نیست یعنی اون خط رو میشه کامنت کرد. یه چیزی داریم به اسم ReadOnly یا فقط خواندنی، منظور همینه یعنی فقط میشه بخونی، نمیشه روش بنویسی و تغییرش بدی.
حتی میشه get رو کامنت کرد و فقط set رو تنظیم کرد.
خوب من از همین روش استفاده کردم و لی با این طول و عرضی که من می دم پیکچرباکس رو رسم نمی کنه. در اصل با همون مقداری رسم می کنه که روی یوزرکنترل هست.
ضمیمه 138413ضمیمه 138413
نقل قول: ساخت usercontrol
من امتحان کردم مشکلی نداشت ولی شما از کجا میخواید مقدار دهی کنید اون تکست باکس و تابع picture که نوشتید چیه؟ اگه از داخل همون تکست باکس میخواید مقدار دهی کنید که به پراپرتی نیاز ندارید و توی textChanged یا validated تکست باکس میشه اندازه رو نوشت.
نقل قول: ساخت usercontrol
نقل قول:
نوشته شده توسط
Mahmoud Zaad
من امتحان کردم مشکلی نداشت ولی شما از کجا میخواید مقدار دهی کنید اون تکست باکس و تابع picture که نوشتید چیه؟ اگه از داخل همون تکست باکس میخواید مقدار دهی کنید که به پراپرتی نیاز ندارید و توی textChanged یا validated تکست باکس میشه اندازه رو نوشت.
نه می خوام از طریق کد مقدار دهی کنم. اون تکس باکس هم گذاشته بودم برای تست. اون تابع پیکچر هم برای اینه که وقتی اندازه ها ست شد بتونم توش تغییراتی رو روی پیکچر باکس بدم.
نقل قول: ساخت 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;