PDA

View Full Version : سوال: ایجاد Tab توسط کاربر در حین اجرای برنامه



ro3vayedel
سه شنبه 10 تیر 1393, 17:33 عصر
سلام دوستان...
برنامه یک فروشگاه رو نوشتم.برنامه باید بتونه چند مشتری رو همزمان راه بندازه.مثلا واسه مشتری 1 جنسی ثبت بشه خریدش ناتمام بمونه.بره سراغ مشتری 2 واسه اون جنسی ثبت کنه و دوباره برگرده واسه ادامه خرید مشتری 1.
بنظرم بهترین راه ایجاد Tab است.به ازای هر مشتری یک تب ساخته بشه تا همزمان به هردو دسترسی داشته باشم.
حالا سوالم اینجاست:
من tab اول را طراحی و برنامه نویسی کردم.چطور میتونم وقتی که کاربر tab جدید ایجاد کرد تمام طراحی و برنامه نویسی های tab قبلی به tab جدید اعمال بشه؟؟؟

drsina
سه شنبه 10 تیر 1393, 17:49 عصر
string title = "TabPage " + (tabControl1.TabCount + 1).ToString(); TabPage myTabPage = new TabPage(title);
tabControl1.TabPages.Add(myTabPage);

ro3vayedel
سه شنبه 10 تیر 1393, 19:01 عصر
ممنون دوست عزیز...ولی شما فقط tab جدید ایجاد کردید با این کد

یعنی این کد وقتی اجرا میشه یک tab سفید و خالی رو ایجاد میکنه
من میخوام یک نمونه از فرمی که تو tab1 دارم در tab2 و... ساخته بشه
و تمام ابزارهایی که توی tab اصلی هست را به tab جدید کپی کنه

omid nasri
سه شنبه 10 تیر 1393, 19:43 عصر
شما می تونی خودت یک کامپوننت بسازی که همه اون خصوصیات بشه ست بشه و هر وقت خواستی new بزن.

ro3vayedel
چهارشنبه 11 تیر 1393, 00:38 صبح
مرسی...
dll ساختم از یک tab...
میتونید بگید چه کدی بنویسم واسه کلید که وقتی tab ایجاد شد کامپوننت بشینه روی صفحه ایجاد شده؟؟؟؟
توی رفرنس ها آوردمش توی تولبار هم هست دراگش هم که میکنم کار میکنه.
فقط میخوام با کدنویسی ایجاد بشه نه با دراگ کردن.

golestan1
چهارشنبه 11 تیر 1393, 19:44 عصر
ممنون دوست عزیز...ولی شما فقط tab جدید ایجاد کردید با این کد

یعنی این کد وقتی اجرا میشه یک tab سفید و خالی رو ایجاد میکنه
من میخوام یک نمونه از فرمی که تو tab1 دارم در tab2 و... ساخته بشه
و تمام ابزارهایی که توی tab اصلی هست را به tab جدید کپی کنه


یه یوزر کنترل ایجاد کن و در کلید وقتی تب جدید ایجاد کردی همان یوزر کنترل رو هم فراخوانی کن

ro3vayedel
جمعه 13 تیر 1393, 00:12 صبح
یه یوزر کنترل ایجاد کن و در کلید وقتی تب جدید ایجاد کردی همان یوزر کنترل رو هم فراخوانی کن

بله دوست من صحیح میفرمایید.
مثلا userControl1 رو ساختم.حالا با چه کدی فراخوانیش کنم؟؟؟ توی رفرنس و تولباکسم اومده اما تو کد نویسی نمیشناسه.

golestan1
جمعه 13 تیر 1393, 04:06 صبح
بله دوست من صحیح میفرمایید.
مثلا userControl1 رو ساختم.حالا با چه کدی فراخوانیش کنم؟؟؟ توی رفرنس و تولباکسم اومده اما تو کد نویسی نمیشناسه.

من رو پروژه و کد شما کار نکردم یعنی تا حالا با تب کنترل کار نکردم
ولی اگه شما به نتیجه رسیدی حتما تو همین تاپیگ اطلاع رسانی کن تا بقیه استفاده کنن
ضمنا کد زیر یوزر کنترل ایجاد شده و یا هر کنترل دیگری رو به تب 2 فراخوانی میکنه

private void button2_Click(object sender, EventArgs e)
{
this.tabPage2.Controls.Add(userControl11);

این هم یک نمونه کد برای اضافه کردن فرم 2 به تب ها
اگه از کد بالا نتیجه نگرفتی بهتره تکست فرم 2 رو پاک کنی و control box رو هم false کن تا فقط یوزر کنترل و یا اشیایی دیگه قابل نمایش باشن

var f2 = new Form2();
f2.TopLevel = false;
this.tabPage5.Controls.Add(f2);
f2.WindowState = FormWindowState.Maximized;
f2.Show();

aliagamon
جمعه 13 تیر 1393, 09:24 صبح
بله دوست من صحیح میفرمایید.
مثلا userControl1 رو ساختم.حالا با چه کدی فراخوانیش کنم؟؟؟ توی رفرنس و تولباکسم اومده اما تو کد نویسی نمیشناسه.
بهتر از userControl اینه که شما یه فرم واسه اون قسمت درست کنی و هر تب چدیدی که میخوای بسازی یه تب جدید بساز و از اون فرم نمونه سازی کن و درون اون تب فراخوانی کن ...:لبخند:

ro3vayedel
یک شنبه 15 تیر 1393, 00:15 صبح
چشم دوست من حتما اگر به نتیجه برسم خدمتتون عرض میکنم...
کدهای بالا هم جواب نداد.
واقعا دیگه قاطی کردم یک هفته است اینترنت رو زیر و رو کردم.
در کل مرسی از وقتی که گذاشتی.

khokhan
یک شنبه 15 تیر 1393, 02:21 صبح
چشم دوست من حتما اگر به نتیجه برسم خدمتتون عرض میکنم...
کدهای بالا هم جواب نداد.
واقعا دیگه قاطی کردم یک هفته است اینترنت رو زیر و رو کردم.
در کل مرسی از وقتی که گذاشتی.
..............................

ro3vayedel
یک شنبه 15 تیر 1393, 14:42 عصر
..............................

سلام دوست من...
ایده خوبی بکار گرفتید اما مشکلش اینجاست آبجکت را خام میسازه...هر چی کد نوشتی واسه تب اول هیچ میشه...یعنی فقط یک ظاهر رو ایجاد میکنه...شما یک متن به تکس باکس بده ،روی تکس باکس جدید اعمال نمیشه
اونهم خیلی خیلی زمان میبره ...
مثلا در تب اول حدود 30 تا و یا بیشتر المان دارم که محاسبات و عملیات مختلف را دارن انجام میدن...واسه هرکدوم از آبجکت هام حدود 5-6 خط دستور نوشتن ...یک هفته برنامه نویسی میخواد تازه فقط ظاهر رو ایجاد کردی ...
مطمئنم که میتونید راهنماییم کنید که این پروژه رو پیش ببرم...
البته تو صفحه دیزاین کدهای ایجاد اشیا وجود داره میشه اونها رو کپی کرد و ازشون new گرفت مثل همین کاری که کردید اما خاصیت تب اول را به ارث نمیبره...

mehdi4467
یک شنبه 02 آذر 1393, 07:35 صبح
سلام
به نتیجه رسیدید؟
اگر بله لطفا نمونه کدتون رو قرار بدید.
ممنون