PDA

View Full Version : کپی برداری از محتویات یک tab بهtab دیگه در TabContorol



smt_414
پنج شنبه 29 فروردین 1387, 12:59 عصر
سلام به همه دوستان
یک سوال
من داخل یک فرم از tabcontorl استفاده کردم که چند تا tab داره
محتویات این تب ها 80% شبیه هم هستند
می خوام بدونم آیا راهی وجود داره که در هر تب اقدام به ساخت محتویات ، توابع و ... نکنم
و بتونم کپی برداری کنم
تشکر

mehdi.mousavi
جمعه 30 فروردین 1387, 14:44 عصر
سلام به همه دوستان
یک سوال
من داخل یک فرم از tabcontorl استفاده کردم که چند تا tab داره محتویات این تب ها 80% شبیه هم هستند می خوام بدونم آیا راهی وجود داره که در هر تب اقدام به ساخت محتویات ، توابع و ... نکنم و بتونم کپی برداری کنم
تشکر

سلام.
یه User Control بسازید که حاوی اون 80% کنترل های یکسان هستش. سپس اون User Control رو در هر Tab قرار بدین و اون 20% اطلاعات متفاوت رو برای هر Page بصورت جداگانه بسازید.

smt_414
جمعه 30 فروردین 1387, 14:59 عصر
سلام
تشکر
امکان داره در رابطه با این مورد و روش انجامش بیشتر توضیح بدید

User Control رو در هر Tab قرار بدین

با تشکر

mehdi.mousavi
جمعه 30 فروردین 1387, 15:08 عصر
سلام
تشکر
امکان داره در رابطه با این مورد و روش انجامش بیشتر توضیح بدید

با تشکر

سلام.
یه کلاس از نوع UserControl به پروژه اضافه کنید. سپس کلیه کنترلهای مورد نظرتون رو که در همه Tab ها یکسان هستند رو از طریق Designer روی UserControl قرار بدید. سپس برنامه رو کامپایل کنید تا UserControl مورد نظر ساخته بشه و به toolbox اضافه بشه. حالا فرم مورد نظرتون رو که حاوی TabControl هستش رو باز کنید و از toolbox، کنترلی که ساختین رو روی Page قرار بدین. حالا Page دوم رو باز کنید، و مجددا کنترل رو (User Control ای که در مرحله اول ساختین رو) روی صفحه دوم قرار بدین. به این ترتیب کلیه فیلدهای مشترک بین Tab ها بسادگی روی صفحه قرار میگیره. حالا تک تک فیلدها متمایز رو بازای هر Page روی Tab مورد نظرتون، در کنار UserControl قرار بدین....

smt_414
دوشنبه 02 اردیبهشت 1387, 12:14 عصر
سلام
تشکر

یک سوال دیگه
چطور میتونم به اشیا داخل UserContorol زمانیکه از اونها در یک فرم استفاده می کنم دسترسی داشته باشم
در Inherited User Contorol ها با Public قرار دادن Modifiers شی می تونستیم بهش دسترسی داشته باشیم توی UserContorl ها چطور امکان داره؟؟؟

با تشکر

hassan razavi
دوشنبه 02 اردیبهشت 1387, 12:30 عصر
اگه منظورتون رو درست متوجه شده باشم ، شما باید برای هدفتون چند Properties یا Method برای کنترلتون در نظز بگیرید و از این طریق با کنترلتون ارتباط داشته باشید.

smt_414
دوشنبه 02 اردیبهشت 1387, 12:50 عصر
سلام
تشکر

اگه منظورتون رو درست متوجه شده باشم

ببینید من داخل یوزر کنترل یک دیتا گرید دارم و می خوام در فرمم به اون دسترسی داشته باشم


شما باید برای هدفتون چند Properties یا Method برای کنترلتون در نظز بگیرید و از این طریق با کنترلتون ارتباط داشته باشید.

امکان داره بیشتر توضیح بدین

با تشکر

hassan razavi
دوشنبه 02 اردیبهشت 1387, 13:03 عصر
شما یک UserControl طراحی کرده اید و حالا می خواهید از اون در برنامتون استفاده کنید و طوری باشه که به اشیاء آن UserControl در جایی که مخواهید از آن استفاده کنید دسترسی داشته باشید؟

smt_414
دوشنبه 02 اردیبهشت 1387, 13:09 عصر
سلام

شما یک UserControl طراحی کرده اید و حالا می خواهید از اون در برنامتون استفاده کنید و طوری باشه که به اشیاء آن UserControl در جایی که مخواهید از آن استفاده کنید دسترسی داشته باشید؟

دقیقا

sinpin
دوشنبه 02 اردیبهشت 1387, 13:12 عصر
از طریق تعریف پراپرتیهای پابلیک اینکار رو انجام بدید.
برای مثال اگر یوزرکنترل شما تکست باکسی بنام tbUserName دارد به این شکل بنویسید :

private string _userName;
public string UserName
{
get { return tbUserName.Text ;}
set { tbUserName.Text = value; }
}

smt_414
دوشنبه 02 اردیبهشت 1387, 20:30 عصر
سلام
جناب sinpin تشکر

اما یک سوال آیا با این شیوه می تونم روی دیتا گرید تغییرات اعمال کنم (مثلا حذف و اضافه کردن ستون و از این جور کارا) اگه میشه چه شکلی ؟

با تشکر

smt_414
سه شنبه 03 اردیبهشت 1387, 11:47 صبح
سلام
کسی می تونه راهنمایی کنه؟:متفکر:

با تشکر

smt_414
سه شنبه 03 اردیبهشت 1387, 18:02 عصر
سلام
دوستان عزیز 2-3 روزی هست که به این مسئله برخوردم و کار ها خوابیده !
شما چه راهی رو پیشنهاد می دید