PDA

View Full Version : اطلاعات در مورد usercontrol



saeed_rezaei
شنبه 09 تیر 1386, 23:15 عصر
سلام
دارم روی یک سری usercontrol کار می کنم. متاسفانه هر چی توی اینترنت گشتم، هیچ موردی رو ندیدم که در مورد usercontrol حداقل اشاره ای داشته باشه. آیا دوستان منبعی، کتابی، وب سایتی و یا هر چیزی سراغ دارن، معرفی کننند ممنون میشم.

javad2000
یک شنبه 10 تیر 1386, 02:28 صبح
سلام
دارم روی یک سری usercontrol کار می کنم. متاسفانه هر چی توی اینترنت گشتم، هیچ موردی رو ندیدم که در مورد usercontrol حداقل اشاره ای داشته باشه. آیا دوستان منبعی، کتابی، وب سایتی و یا هر چیزی سراغ دارن، معرفی کننند ممنون میشم.
ببخشید متوجه نمیشم دقیقاً در مورد چه چیز UC ها میخواید چیز بدونید. با یه سرچ ساده خیلی چیزها در موردشون می تونید پیدا کنید. در ضمن من نمی دونم تا چه در VB وارد هستید، اما با فرض این که تازه شروع به کار با UC کردید، به طور خلاصه این رو بگم که:

User Control برای ساخت کنترل هایی با مشخصات دلخواه است. مثلاً ساخت یک Graphical Button یا یک TextBox که وقتی در آن چیزی می نویسیم، صدای صفحه کلید را در بیاورد و....

UC ها مثل Form ها هستند و میشه همون ابزارها و تنظیمات رو روی اونها انجام داد. البته با کمی تفاوت. از جمله این که شما باید بعضی Property ها و Event ها رو برای UC خودتون تعریف کنید. مثلاً UC ها رویداد KeyDown ندارند، اما می تونید به طور دستی براشون ایجاد کنید.. یا مثلاً پراپرتی Text ندارند، اما می تونید به طور دستی براشون ایجاد کنید. کار ساده ای هم هست اگه خواستید بیشتر بگم.

نهایتاً هم وقتی یک UC رو درست کردید، کافیه یک بار پروژه را Build کنید تا اون UC به Toolbox شما اضافه بشه و بتونید در فرمتون ازش استفاده کنید.

__H2__
یک شنبه 10 تیر 1386, 10:50 صبح
سلام
همانطور که دوستمان هم اشاره کرد، کنترلرهایی هیتند که میتوانند خود شامل کنترلهای دیگر باشند چیزی شبیه فرمها! ولی استفاده بی رویه از آنها بار زیادی به برنامه اعمال میکند و سرعت و کارآیی را به شدت کاهش میدهد.

یعنی اگر شما 10 کنترلر روی یک UC قرار دهید با هر بار که از آن UC در خایی استفاده کنید 11 کنترلر در RAM بار میشود (با خودش) و گرچه به ظاهر یک کنترلر واحد رزا لود کرده اید ولی در باطن .....

کنترلرهای بومی و غیر ترکیبی که سرعت بسیار بالایی دارند و البته کد نویسیشان سخت است، تمام اعمال خود را با Paint مستقیم برروی صفحه انجام میدهند و در نتیجه با وجود بخش های متعدد کهع میتوانند داشته باشند، صرفاً یک اشاره گر hWnd ویندوز را اشغال میکنند.

Rafeie
یک شنبه 10 تیر 1386, 10:56 صبح
اگه منظورتون اون سری کامپوننتهای برزیلی است سایت :
www.usercontrol.net
ولی سایتش برزیلیه .

choobin84
یک شنبه 10 تیر 1386, 21:30 عصر
سلام
همانطور که دوستمان هم اشاره کرد، کنترلرهایی هیتند که میتوانند خود شامل کنترلهای دیگر باشند چیزی شبیه فرمها! ولی استفاده بی رویه از آنها بار زیادی به برنامه اعمال میکند و سرعت و کارآیی را به شدت کاهش میدهد.

یعنی اگر شما 10 کنترلر روی یک UC قرار دهید با هر بار که از آن UC در خایی استفاده کنید 11 کنترلر در RAM بار میشود (با خودش) و گرچه به ظاهر یک کنترلر واحد رزا لود کرده اید ولی در باطن .....

کنترلرهای بومی و غیر ترکیبی که سرعت بسیار بالایی دارند و البته کد نویسیشان سخت است، تمام اعمال خود را با Paint مستقیم برروی صفحه انجام میدهند و در نتیجه با وجود بخش های متعدد کهع میتوانند داشته باشند، صرفاً یک اشاره گر hWnd ویندوز را اشغال میکنند.

خب سئوال پبش میاد اگه ما از uc ها استفاده نکنیم، پس مجبوریم که کد مربوط به آنها را بصورت توابع و کلاس در نرم افزار پیاده کنیم ، حالا چه فرقی بین اینکه قبلا این کد ها uc شده باشند و یا اکنون که کدشون توی برنامه اومده هست؟ هر دوتا شون که در ram لود میشن.

javad2000
یک شنبه 10 تیر 1386, 22:07 عصر
سلام
درسته. اما منظور H2 این بود که در به کارگیری UC نباید زیاده روی کرد. چون بعضی برنامه نویس ها فکر می کنند، مثلاً یه Graphical Buttonمیتونه همه جا جایگزین Button معمولی باشه و همونطور که یک Button رم چندانی اشغال نمی کنه، GrB هم همینطور خواهد بود. یا تصور می کنند که اگه برنامه ای روی سیستم خودشون سریع و روان اجرا شد، روی همه سیستم ها همینطور خواهد بود.

__H2__
دوشنبه 11 تیر 1386, 09:23 صبح
سلام

سلام
درسته. اما منظور H2 این بود که در به کارگیری UC نباید زیاده روی کرد. چون بعضی برنامه نویس ها فکر می کنند، مثلاً یه Graphical Buttonمیتونه همه جا جایگزین Button معمولی باشه و همونطور که یک Button رم چندانی اشغال نمی کنه، GrB هم همینطور خواهد بود. یا تصور می کنند که اگه برنامه ای روی سیستم خودشون سریع و روان اجرا شد، روی همه سیستم ها همینطور خواهد بود.
قربان آدم چیز فهم!
اگر میتوانید با قوانین وراثتی شی مورد نظر را بسازید، مثلاً برای همین دکمه گرافیکی، اگر کمی اطلاعات OOP و رسم runtime اشکال را بلد باشید میتوانید به راحتی و با قدرت و سرعت آن را با وراثت پیاده سازی کنید.

saeed_rezaei
دوشنبه 11 تیر 1386, 15:39 عصر
باتشکر از دوستان که وقت گذاشتن
این مهم نیست که چقدر من از وی بی رو بلدم. دنبال هر گونه اطلاعات در مورد usercontrol می گردم. چه حرفه ای باشه چه آماتور.
اگه آدرس وب سایتی یا هر چیز دیگه ای دارید که در این زمینه آموزش و یا اطلاع رسانی کنه واقعا من رو ممنون خودتون کردید.

__H2__
دوشنبه 11 تیر 1386, 17:26 عصر
سلام
نمیدونم، آموزش چی میخواهید؟؟؟؟؟
مگر شما با فرم ها در VB کار نکرده اید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
UserControl هم مثل همان است، یعنی شما فرض کنید یک فرم بدون کپشن جلوی شماست!!!!
میتوانید مثل فرم با ان رفتار کنید و رویش مخلوطی از کنترلرها را قرار دهید یا برای رویدادهایش مثل SizeChange و ... درست عین فرم کد نویسی کنید.

ولی در نهایت که کارتان با آن تمام شد، همینطوری به طور خام نمیتوانید از ان استفاتده کنید و باید روی یک فرم واقعی قرارش دهید.
یعنی واقعاً احساس میکنم که چیز خاصی که مخصوص UserControl باشد برای یاددان وجود ندارد. شاید شما با تعریف Property و یا Event و یا Enum و ... مشکل دارید که این هم گرچه در UserControl هم قابل استفاده است ولی اصولاً ربطی به UserrtControl ندارد.!!

امیدوارم مشکلتان حل شود! و همیشه موفق باشید.

saeed_rezaei
دوشنبه 11 تیر 1386, 20:11 عصر
سلام
نمیدونم، آموزش چی میخواهید؟؟؟؟؟
مگر شما با فرم ها در VB کار نکرده اید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
UserControl هم مثل همان است، یعنی شما فرض کنید یک فرم بدون کپشن جلوی شماست!!!!
میتوانید مثل فرم با ان رفتار کنید و رویش مخلوطی از کنترلرها را قرار دهید یا برای رویدادهایش مثل SizeChange و ... درست عین فرم کد نویسی کنید.

ولی در نهایت که کارتان با آن تمام شد، همینطوری به طور خام نمیتوانید از ان استفاتده کنید و باید روی یک فرم واقعی قرارش دهید.
یعنی واقعاً احساس میکنم که چیز خاصی که مخصوص UserControl باشد برای یاددان وجود ندارد. شاید شما با تعریف Property و یا Event و یا Enum و ... مشکل دارید که این هم گرچه در UserControl هم قابل استفاده است ولی اصولاً ربطی به UserrtControl ندارد.!!

امیدوارم مشکلتان حل شود! و همیشه موفق باشید.

چشم من بی خیالش شدم. ممنونم از وقتی که گذاشتید.

__H2__
سه شنبه 12 تیر 1386, 10:49 صبح
سلام

چشم من بی خیالش شدم. ممنونم از وقتی که گذاشتید.

اینجا جملات نوشته میشوند، ولی انسان متوجه لحن ادای مطلب نمیشود !!!!! :چشمک:
میگم یک دفعه احیاناً، احتمالاً، شاید (!!) ناراحت نشده باشید!!! :بوس: :بوس:

choobin84
سه شنبه 12 تیر 1386, 20:07 عصر
من یه برنامه ای دیدم که حالات گرافیکی زیادی داشت ، هیچ تاثیری در سرعت اجرای برنامه نداشت.
خیلی راحت می شد چندین پوسته برای نرم افزار انتخاب کنیم بدون اینکه تاثیری در سرعت داشته باشه.
JetAudio یا Nero یا حتی ویندوز رو نگفتما.

برنامه نویسه می گفت از OCX ها استفاده کرده. فکر می کنم این OCX ها یه چیزی شبیه به این DLL ها یا UC ها باشند!

saeed_rezaei
سه شنبه 12 تیر 1386, 20:57 عصر
سلام


اینجا جملات نوشته میشوند، ولی انسان متوجه لحن ادای مطلب نمیشود !!!!! :چشمک:
میگم یک دفعه احیاناً، احتمالاً، شاید (!!) ناراحت نشده باشید!!! :بوس: :بوس:


سلام بر دوست عزیز آقای H2 و سایر دوستان
اگه کسی اینجا به پستی جواب می ده نه به خاطر اینه که وظیفشه بلکه واسه اینه که کمک کردن به دیگران رو دوست داره.
دوست عزیزم، نا اینکه ناراحت نشدم، بلکه واقعا از وقتی که گذاشتید و پست من رو به دقت خوندید، و این حقیر رو لایق جواب دونستید خیلی خیلی خوشحالم.
اگه خیلی مختصر و بد نوشتم عذر می خوام. آخه وقتی این پست رو خوندم یه جایی بودم که نمی تونستم خیلی بنویسم. مجبور بودم مختصر بنویسم.

__H2__
چهارشنبه 13 تیر 1386, 08:30 صبح
سلام

دوست عزیزم، نا اینکه ناراحت نشدم.
OK!
درخدمتیم دربست بدون بین راهی !!!! :قلب:


من یه برنامه ای دیدم که حالات گرافیکی زیادی داشت ، هیچ تاثیری در سرعت اجرای برنامه نداشت.
خیلی راحت می شد چندین پوسته برای نرم افزار انتخاب کنیم بدون اینکه تاثیری در سرعت داشته باشه.
JetAudio یا Nero یا حتی ویندوز رو نگفتما.

برنامه نویسه می گفت از OCX ها استفاده کرده. فکر می کنم این OCX ها یه چیزی شبیه به این DLL ها یا UC ها باشند!
فرقی نداره، از هر اصولی که استفاده کنید، بدون شک میتوانید همان را در دات نت هم پیاده سازی کنید و یا حتی با خود دات نت یک dll پرسرعت برای همچین کارهایی بسازید، ولی همیشه کدها و روشهای سریع کارائی کمتری نسبت که کدهایی که سخت تر هستند که وقت بیشتری روی آن صرف شده دارند و این یعنی وراثت سریعتر از استفاده از UC است!!! :لبخند: