مشاهده نسخه کامل
: آموزش نوشتن یک کنترول در vb2008
ahsanjan
18-06-2008, 16:04
سلام من کمی یاد دارم کنترول بنویسم ولی تا حالا ننوشتم ولی خواهش می کنم برای رضای خدا هم که شده یکی از همون اولی که vb2008 را باز می کند تا زمانی که فایل dll را می سازد و کنترول ساخته می شود بگوید همراه یک مثال ساده مثلا کنترولی که وقتی رویش موس می آید رنگ پس زمینه اش قرمز شود و زمانی که از روی آن بیرون می رود به حالت قبلش برگردد من می خواهم از این آموزش استفاده از رویداد موس را یاد بگیرم و لطفا این کنترول به شکل دایره باشد
Ultimator
19-06-2008, 01:46
کارگاه کامپوننت و DLL ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
ahsanjan
19-06-2008, 15:40
تایپیک عالی بود و من صرز استفاده از رویددادهای موس را یاد گرفتم ولی اگر من بخاهم یک کنترول بنویسم که به شکل بیضی باشد کسی می تواند کمکم کند
ahsanjan
20-06-2008, 12:51
جون هر هی دوست دارین سریع باشین دارم بدبخت می شوم
ahsanjan
23-06-2008, 10:48
من بعد از این همه مدت و جواب نگرفتن خودم فهمیدم ولی یک مشکل هست چرا با این کد فرم به شکل دایره می شود ولی اگر در user control بنویسیم user control به شکل داره نمی شود
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
این کد فقط روی فرمها جواب میدهد.
در مورد کنترلرها کمی تا قسمتی میتوان خاصیصت شفافیت را پیاده سازی کرد.
اگر حالت شفافیت در Style ها فعال شود، هر کجا که در زمان Paint چیزی روی آن صراحتاً ترسیم نشود شفاف میشود، ولی نه کاملاً
یعنی اگر پنجره زیرین Backgound داشته باشد، آن را نشان میدهد و نسبت به آن مثل شیشه عمل میکند ولی اگر کنترلر دیگری زیرش باشد، آنرا نمایش نمیدهد.
از اینها که بگذریم، نیازی به Transparent کردن در کنترلرها نیست،
شما یک دایره یا بیضی روی کنترلر خود ترسیم کنید و اجازه دهید مابقی کنترلر رنگ پس ضیمنه پیش فرض را داشته باشد، در عمل یک دکمه واقعاً گرد (به فرض) هیچ فرقی با یک دکمه مربعی که دورش همرنگ با محیط اطرافش باشد ندارد!
موفق باشید.
ahsanjan
25-06-2008, 12:15
ببخشید اگر می شود خود شما لطفا یک کد بدین که همین کار را انجامدهد چون من به طور نیمه توضیحاتتان را فهمیدم و دیگر اینکه در progressbar چطور اون دونه های سبز را می کشند آیا آنها را با gdi+ ترسیم می کنند
سلام
به نظر شما یک نکته ظریف را نمیدانید.
+GDI امکانات runtime بسیار قوی دارد ولی ....
ولی اش آنجا است که اغلب جلوه های زیبای تصویری که در ویندوز میبینید دستور ترسیم مستقیم ندارند و در واقع تصاویر کوچک bmp و png هستند که بعضاً به صورت کاشی کاری در سطح گسترده میشوند.
با این ترفند ساده بدون نیاز به نوشتن کدهای پیچیده و سنگین برای رسم اشکال، میتوانید به سریعترین و زیباترین و منعطف ترین طرح های گرافیکی برسید، و اگر هم فردا خواستید شمای کلی را عوض کنید، دیگر نیازی نیست خروارها کد را تغییر دهید.
برای کد نمونه ترسیم تصاویر نمونه به تاپیک زیر مراجعه کنید.
forum.p30world.com/showthread.php?t=195710
ahsanjan
25-06-2008, 18:58
ببخشید با سوال هایم خسته شما را می کنم اون تایپیک را قبلا دیدم و واقا خیلی تایپیک عالی هست و من اگر خواستم کنترولی بسازم به گفته شما حتما از تصاویر استفاده می کنم ولی فقط دوست دارم فقط همین را یاد بگیرم که یه کنترول به شکل بیضی بکشم روی فرم را یاد دارم ولی موندم برای user control چطور این کار را بکنم فقط اگر می شود یک مثال ساده از همین بزنید بازم ببخشید
سلام
یک Class جدید به پروژه اضافه کنید و کد زیر را در آن تایپ کنید.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پروژه را یک بار کامپایل کنید (Build->Rebuild Solution) کنترلر جدید با نام Class1 باید به Toolbar تان اضافه شده باشد، آن را گرفته و روی یک فرم رها کنید، درست عین سایر کنترلرها.
ساده، کوتاه، مفید و زیبا! من که خودم خوشم امد از دیدنش.
ahsanjan
26-06-2008, 12:34
ببخشید من چون اول اول کارم هست این مورد برایم پیش اومد من اول vb2008 را باز می کنم بعد روی file کلید کرده و new project را کلیک می کنم بعد class library را کلیک می کنم بعد کد شما را در آن می نویسم ولی زیر اون ها خط می کشد این هم عکسش ببخشید تازه کارم اگه می شود از همان اول که vb2008 را باز کردم تا آخر توضیح دهید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
شما refrence اسمبلی System.Drawing را ندارید.
این مرجع به صورت پیش فرض به WinApp ها اضافه میشود ولی به library ها نه.
چون library را انتخاب کرده اید باید دستی مرجع ترسیمات را اضافه کنید.
یعنی به کامپایلر VB اعلام کنید که میخواهید از System.Drawing.dll در کدهایتان استفاده کنید.
Project->Add Refrence->.Net->System.Drawing
ahsanjan
27-06-2008, 11:54
با سلام من تمام کارهایی که شما گفتید انجام دادم بعضی از کلماتی مه زیر آنها خط کشیده شده است خطشان ناپدید شد ولی بعضی ها هنوز هست ببینید من مراحل کار را درست انجام می دهم
File->New Project->Class Library
بعد هم refrence اسمبلی System.Drawing را اضافه می کنم خواهش می کنم نگین دیگه نمی دونم چون تو بعضی از تایپیک ها در سایتهای دیگه آخرش می گفتند دیگه ما نمی دونیم
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
میبخشید من دفعه قبل تصویر را بزرگ نکردم، و تا دیدم فهمیدم اسمبلی Drawing موجود نیست و اصلاً هم به فکرم خطور نکرد که....
اسمبلی System.Windows.Forms را هم اضافه کنید.
ahsanjan
27-06-2008, 23:22
خط های زیر آن ها رفت ولی وقتی f5 را می زنم این عکس می آید و وقتی Build->Rebuild Solution ld می زنم کنترولی اضافه نمی شود و نمی دانم در کدام پوشه ساخته نمیشود ساخته می شود من در c نصب کرده ام
ahsanjan
27-06-2008, 23:30
خط های زیر آن ها رفت ولی وقتی f5 را می زنم این عکس می آید و وقتی Build->Rebuild Solution ld می زنم کنترولی اضافه نمی شود و نمی دانم در کدام پوشه ساخته نمیشود ساخته می شود من در c نصب کرده ام
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
این که دیگر واضح است، شما که پروژه library میسازید، باید شرایط این پروژه را بدانید، خروجی این پروژه یک فایل dll میشود، و اصلاً قابل اجرا نیست، یعنی اصلاً در پروژه های dll به صورت عادی f5 معنی ندارد.
شما در پوشه System32 روی یک dll دبل کلیک کنید چه میشود؟؟؟؟؟ هیچ!
بعد هم که میگویید به Toolbar اضافه نشده! خوب کجا باید اضافه شود و نمایش داده شود، اصلاً از این کنترلر بگذریم، الآن در Toolbar شما Button و TextBox و ComboBox و... چرا نمایش داده نمیشود؟؟؟!!!!
آیتم های Toolbar در مکانی که اجازه استفاده از نوع منطقی را داشته باشید ظاهر میشود، شما باید در مد طراحی باشید تا آیتم های کنترلری ویندوزی نمایش داده شوند، یعنی یک Form یا UserControl ویندوزی داشته باشید و در نمایه Design باشید تا کنترلرهای ویندوزی نشان داده شوند.
این مطالب دیگر از اصول بسیار ابتدایی کار در VS هستند.
1- اگر میخواهید در toolbar ببینیدش باید حتماً در حالت desgin یک Form یا UserControl باشید.
2- اگر میخواهید برنامه را اجرا کنید باید پروژه exe داشته باشید، مثل Windows Forms Application.
ahsanjan
28-06-2008, 10:26
فکرکنم یک نکته را یادتان شد بگویید که فایل من در کجا ذخیره شد من طبق تنظیمات پیش فرض در c ویژوال را نصب کرده ام خداییش که به این زیبایی توضیح دادن جایی ندیدم شما سایتی ندارید تا من در سایت خودم [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) پیوندتان دهم به عنوان یک تشکر کوچولو
سلام
فکرکنم یک نکته را یادتان شد بگویید که فایل من در کجا ذخیره شد من طبق تنظیمات پیش فرض ....
درست متوجه نشدم، سوال بود؟! فایل نهایی و کامپایل شده exe یا dll را پیدا نمیکنید؟!
شما سایتی ندارید ...
سایت دارم، ولی کوزه گر از کوزه شکسته.... هیچ چیز خاص و با اهمیتی برای دیدن ندارد، بیشتر جنبه یک میزبان برای فایل های آپلودیم را دارد.
موفق باشید.
ahsanjan
29-06-2008, 08:43
من وقتی روی دکمه Rebuild Solution کلیک می کنم برای همین مثال مگه فایل exe هم ساخته می شود اگر ساخته می شود شما مکان هم فایل exe و هم فایل dll را لطف کنید بگویید اگر هم فایل exe ساخته نمی شود فقط مکان فایل dll را بگویید
سلام
مکان فایلهای کامپایل شده بسته به نوع کامپایل در محل پروژه و زیر شاخه bin\Debug (نسخه با قابلیت اشکال یابی) و یا زیر شاخه bin\Release (نسخه نهایی و بهینه) تشکیل میشود.
برای تحویل نهایی برنامه، همواره باید در حالت Relase کامپایل کرد و از این فایلها به عنوانآ محصول نهایی قابل انتشار استفاده کرد.
طبیعی است که در یک پروزه dll شما کدی برای exe ننوشته اید و exe در خروجی نخواهید داشت و همین طور برعکس.
هر پروژه خروجی کامپایلی خود را دارد.
فقط در صورتی که در یک Solution بیش از یک نوع پروژه داشته باشید، با فرمان کامپایل، فایلهایی هم که Refrence شده هستند در شاخه کامپایل کپی میشوند.
ahsanjan
30-06-2008, 19:07
خیلی ممنون هر چی که می خواهید خدا بهتون بدهد
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.