PDA

View Full Version : textbox پویا



F.N.44
یک شنبه 04 تیر 1396, 10:15 صبح
با سلام

من(مبتدی هستم در سی شارپ ) میخوام در یک برنامه کاربر تعداد(عددی) تکست باکس های مورد نیاز رو وارد کنه بعد به همین تعداد تکست باکس ایجاد بشه و بعد روی هر کدوم از تکست باکس های ایجاد شده کلیک کنه تعدادی زیر تکست باکس به درخواست مشتری ایجاد بشه .

مثلا یک کاربر بخواد ۲۸ تا جنس رو وارد کنه , عدد ۲۸ بده به برنامه ,همین تعداد تکست باکس ایجاد بشه بعد که مثلا در تکست باکس اولی نوشت چای براش یه پیام بیاد که چند نوع چایی میخوای وارد کنی اگر گفت ۳, سه تا تکست باکس دیگه زیر تکس باکس چای براش ایجاد بشه و برای هر کدوم بتونیم تعداد وارد کنیم. چکار باید بکنم؟ممنون

مثال

چای : برند الف ۳۰ عدد
برند ب ۲۰ عدد
برند پ ۵ عدد


در حالت کلی می دونم برای قسمت اولش باید عدد رو از کاربر بگیره و آرایه ی از تکست باکس به تعداد درخواستی بسازه و برای قسمت دوم حلقه تو در تو بذاریم و زیر تکست باکس ایجاد کنیم اما آیا این کارها به راحتی در سی شارپ انجام پذیر هست ؟

ابزار دیگه در سی شارپ به غیر تکست باکس وجود داره که راحتتر باشه یعنی هم به تعداد دلخواه بتونیم ایجاد کنیم بعد به هر تعداد بخواهیم برای هر کدوم زیر منو داشته باشه و بتونیم به هر خونه برای عملیات تعداد دادن دسترسی داشته باشیم ؟

meysam_online2012
یک شنبه 04 تیر 1396, 11:55 صبح
با سلام

من(مبتدی هستم در سی شارپ ) میخوام در یک برنامه کاربر تعداد(عددی) تکست باکس های مورد نیاز رو وارد کنه بعد به همین تعداد تکست باکس ایجاد بشه و بعد روی هر کدوم از تکست باکس های ایجاد شده کلیک کنه تعدادی زیر تکست باکس به درخواست مشتری ایجاد بشه .

مثلا یک کاربر بخواد ۲۸ تا جنس رو وارد کنه , عدد ۲۸ بده به برنامه ,همین تعداد تکست باکس ایجاد بشه بعد که مثلا در تکست باکس اولی نوشت چای براش یه پیام بیاد که چند نوع چایی میخوای وارد کنی اگر گفت ۳, سه تا تکست باکس دیگه زیر تکس باکس چای براش ایجاد بشه و برای هر کدوم بتونیم تعداد وارد کنیم. چکار باید بکنم؟ممنون

مثال

چای : برند الف ۳۰ عدد
برند ب ۲۰ عدد
برند پ ۵ عدد


در حالت کلی می دونم برای قسمت اولش باید عدد رو از کاربر بگیره و آرایه ی از تکست باکس به تعداد درخواستی بسازه و برای قسمت دوم حلقه تو در تو بذاریم و زیر تکست باکس ایجاد کنیم اما آیا این کارها به راحتی در سی شارپ انجام پذیر هست ؟

ابزار دیگه در سی شارپ به غیر تکست باکس وجود داره که راحتتر باشه یعنی هم به تعداد دلخواه بتونیم ایجاد کنیم بعد به هر تعداد بخواهیم برای هر کدوم زیر منو داشته باشه و بتونیم به هر خونه برای عملیات تعداد دادن دسترسی داشته باشیم ؟



try
{
int txtno = int.Parse(txt1.Text);
int pointX = 30;
int pointY = 40;
panel2.Controls.Clear();
for (int i = 0; i < txtno; i++)
{
TextBox a = new TextBox();
a.Text = (i + 1).ToString();
a.Location = new Point(pointX, pointY);
panel2.Controls.Add(a);
panel2.Show();
pointY += 20;
}
}
catch (Exception)
{
MessageBox.Show(e.ToString());
}

ebrahim.rayatparvar
یک شنبه 04 تیر 1396, 12:14 عصر
آگه نرم افزار مالی و انبار هست این نوع نوشتن یه خورده عجیبه چون برای این کار بهتر نوع محصول رو جای دیگه تعریف کنی بعد بیای تو مثلا رسید انبار بگی چای فلان 20 عدد چای ملان 30 عدد و ... ولی اگه نه باید از روش بالا استفاده کنی که دوستمون گفتن ولی برای یه برنامه اینکه بخوای اینجور کار کنی جالب نیست البته اگه برنامه مالی انبار از این قبیل موارد که میخوای محصول یا هر چیزی رسید بزنی اینجور کار زیاد یا بهتره بگم اصلا معقول و اصولی نیست.

F.N.44
دوشنبه 05 تیر 1396, 15:57 عصر
ممنونم از دوستانی که کمک کردند.




آگه نرم افزار مالی و انبار هست این نوع نوشتن یه خورده عجیبه چون برای این کار بهتر نوع محصول رو جای دیگه تعریف کنی بعد بیای تو مثلا رسید انبار بگی چای فلان 20 عدد چای ملان 30 عدد و ... ولی اگه نه باید از روش بالا استفاده کنی که دوستمون گفتن ولی برای یه برنامه اینکه بخوای اینجور کار کنی جالب نیست البته اگه برنامه مالی انبار از این قبیل موارد که میخوای محصول یا هر چیزی رسید بزنی اینجور کار زیاد یا بهتره بگم اصلا معقول و اصولی نیست.

نه نرم افزار مالی نیست من فقط می خوام تعدادی منو و زیر منو پویا داشته باشم که بتونم هم به موارد منو اصلی هم منو فرعی تعداد بدم و در نهایت نمودارشون رو بکشم .نمیدونم چه ابزاری مناسب هست؟

F.N.44
دوشنبه 05 تیر 1396, 19:47 عصر
ممنون از راهنماییتون .میشه یکمی در مورد کد توضیح بدین.پنل برای چی استفاده کردید؟ در قسمت catch چه اتفاثی میافته؟



try
{
int txtno = int.Parse(txt1.Text);
int pointX = 30;
int pointY = 40;
panel2.Controls.Clear();
for (int i = 0; i < txtno; i++)
{
TextBox a = new TextBox();
a.Text = (i + 1).ToString();
a.Location = new Point(pointX, pointY);
panel2.Controls.Add(a);
panel2.Show();
pointY += 20;
}
}
catch (Exception)
{
MessageBox.Show(e.ToString());
}

meysam_online2012
چهارشنبه 07 تیر 1396, 08:55 صبح
ممنون از راهنماییتون .میشه یکمی در مورد کد توضیح بدین.پنل برای چی استفاده کردید؟ در قسمت catch چه اتفاثی میافته؟


پنل رو فقط برای اضافه کردن تکس باکس هاس شما میتونی توی فرم اضافه کنه


تو قسمت catch هم اگه خطایی رخ بده تو یه پنجره خطا،خطارو نمایش میده

Helpco
چهارشنبه 07 تیر 1396, 19:12 عصر
ممنون از راهنماییتون .میشه یکمی در مورد کد توضیح بدین.پنل برای چی استفاده کردید؟ در قسمت catch چه اتفاثی میافته؟
امکان داره بصورت پروژه بزارید

meysam_online2012
شنبه 10 تیر 1396, 13:24 عصر
امکان داره بصورت پروژه بزارید


اینم فایلش