PDA

View Full Version : سوال: چگونگی اضافه کردن یک کتاخانه ی فرم(فرم سفارشی)



shayanstar
چهارشنبه 18 مرداد 1391, 11:10 صبح
با عرض سلام و خسته نباشید خدمت اساتید محترم
می خواستم نحوه ی اضافه کردن یک کتاخانه ی فرم که فقط فایل دی ال الش را داریم به پروژه را بدونم ،البته اضافه کردن پروژه ی کتابخانه ی فرم رو به پروژه ی برنامه میدونم ، منظورم وقتی که تنها فایل دی ال ال کتابخانه ی فرم را در اختیار داریم و می خواهیم توسط این فایل دی ال ال که حاوی یک فرم سفارشی ( نه کنترل سفارشی) است در یک برنامه استفاده کنیم ، اصلا آیا همچین چیزی امکان پذیر هست ؟ همانطور که در کنترل های سفارشی میشد این کار را کرد
ممنون

h_assefi
چهارشنبه 18 مرداد 1391, 11:59 صبح
داخل solution explorer روی refrencies راست کلیک کن و بعدش add refrence و بعد از دادن آدرس به پروژت اضافه میشه (100 درصد مطمئن نیستم ولی امتحانش کن ونتیجش را هم بگو)

shayanstar
چهارشنبه 18 مرداد 1391, 12:43 عصر
سلام ، امتحان کردم ، متاسفانه فرمی به فرمها ی برنامه اضافه نشد، به نظرم اصلا شاید فلسفه اش اینه که حتما باید کل پروژه ی کتابخانه ی فرم رو داشته باشی تا بتونی به برنامه ات اضافه کنی ، نمدونم والا

manij_mhm
چهارشنبه 18 مرداد 1391, 12:58 عصر
سلام. من دقیق متوجه نشدم که منظورتون از اضافه کردن فرم چی هست، ولی اگه منظورتون اضافه کردن یک پوسته به فرم پروژتون هست، می تونید بعد از اضافه کردن dll به پروزتون، اون رو روی فرم مورد نظر درگ کنید( درست مثل سایر کامپوننت ها) بعد بسته به نوع پوسته چند خط کد برای فعال کردن پوسته بنویسید.

merlin425
چهارشنبه 18 مرداد 1391, 13:05 عصر
شما یک بار این فایل DLL رو به صورت choose item به قسنت ابزار ها اضافه کن اگر نشد این رو هم امتحان کن یک class libreri خالی درست کن توش یک کلاس بزار و این کلاس رو از DLL که داری ارث ببر بعد اون رو به نوار ابزار اضافه کن بعد که اضافه شد بکشش روی یک قرمی که از قبل آوردی شاید این طوری بشه

ولی به طور کلی فرم ها توی .net از یک object به نام form ارث بری میشن و هر object که از این کلاس ارث نبرن فرم به حساب نمیان شما باید یک جوری این کلاس رو دور بزنی

merlin425
چهارشنبه 18 مرداد 1391, 13:13 عصر
manij_mhm مورد جالبی رو فرمودند نکنه شما می خاین به فرمتون skin بدین

Mahmoud.Afrad
چهارشنبه 18 مرداد 1391, 13:21 عصر
با داشتن dll

بعد از اینکه dll به رفرنس ها اضافه شد باید فرمی را که مورد نظر هست ، را از کلاسی که در این dll وجود داره مشتق کنید. یعنی هر کلاس فرمی به این صورت هست
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
که باید این فرم از کلاس فرم درون dll مشتق بشه پس به جای کلمه Form اسم اون کلاس(Class_Name) را قرار بدید تا به این صورت دربیاد
public partial class Form2 : Class_Name
{
public Form2()
{
InitializeComponent();
}
}

shayanstar
چهارشنبه 18 مرداد 1391, 13:26 عصر
سلام. من دقیق متوجه نشدم که منظورتون از اضافه کردن فرم چی هست، ولی اگه منظورتون اضافه کردن یک پوسته به فرم پروژتون هست، می تونید بعد از اضافه کردن dll به پروزتون، اون رو روی فرم مورد نظر درگ کنید( درست مثل سایر کامپوننت ها) بعد بسته به نوع پوسته چند خط کد برای فعال کردن پوسته بنویسید.
ببینید منظور من از اضافه کردن فرم اینه که شما از یک فرم در چندین برنامه استفاده کنید با همان منطقی که فرم های آماده ای مثل open file یا فرم print را می توانید در برنامه ها استفاده کنید یعنی یک فرم آماده ایجاد کرده و در دیگر برنامه ها اضافه کنید
بذارید تا منظورم رو روشن تر بگم
برای ایجاد کتابخانه ی فرم:
1 ابتدا یک پروژه ی class libray ایجاد میکنیم
2 در این با کلیک راست روی نام پروژه در سولوشن اکسپلورر add refrence را انتخاب و از کادر باز شده و تب net. گزینه ی system.windows.form را اُکی میکنیم
3 سپس با کلیک راست روی نام پروژه در سولوشن اکسپلورر add windows form را انتخاب میکنیم
حالا ما یک فرم داریم که هر طور خواستیم میتونیم سفارشیش کنیم ( حاصل این پروژه یک فایل دی ال ال است)
وما می تونیم با اضافه کردن پروژه ی این فرم به پروژه ی برنامه های دیگه از این فرم در برنامه های دیگه هم استفاده کنیم حالا من سوالم اینه آیا تنها با یک فایل دی ال ال از این پروژه (همانند کنترلهای سفارشی) می شه فرم سفارشی رو به برنامه اضافه کرد؟

shayanstar
چهارشنبه 18 مرداد 1391, 14:10 عصر
آقا حل شد ، با تشکر از راهنمایی mafaman2003 را ه حل رو اینجا مینویسم که اگر دیگران هم خواستند استفاده کنند
طریقه ی استفاده از یک کتابخانه ی فرم از طریق فایل دی ال ال ( نه از طریق اضافه کردن پروژه ی کتابخانه ی فرم)
1 طبق معمول با کلیک راست روی نام پروژه در سولوشن اکپلورر از طریق کادر add reference آدرس دی ال ال مورد نظر را میدهیم
2 سپس با کلیک راست روی نام پروژه در سولوشن اکسپلورر add windows form را انتخاب میکنیم
3 سپس در کد این فرم جدید (فرم 2) بجای" public partial class Form1 : Form "عبارت زیر را می نویسیم
" [نام کلاس یا همان نام فرم سفارش ما].[فضای نام دی ال ال] : public partial class Form1 " فضای نام دی ال ال و نام کلاسهای درون این دی ال ال را از آبجکت بروسر میتونید ببینید
4 حالا کافی مثلا در متد لود فرم 1 کد زیر بنویسید (یعنی یک شی از فرم 2 که خودش از فرم ما ارث میبره نمونه سازی کنیم)
()Form2 objform2 = new Form2
() objform2.Show
و حال فرم آماده ی ما (فرم 2) نمایش داده میشود