PDA

View Full Version : آموزش: ساخت لیبل آرایه ای در زمان اجرا



NASA's Spaceman
یک شنبه 27 بهمن 1392, 15:01 عصر
سلام خواهشا از این مطلب تشکر یادتون نره چون که برا این برنامه یک ساعت من و دو تا از کسایی که 16 ساله برنامه نویسن روش بودیم تا درست شد

private void button1_Click(object sender, EventArgs e)
{
Label[] lbl = new Label[10];
int i;
int t = 20;
for(i=1;i<10;i++)
{
lbl[i]=new Label();
lbl[i].Left=200;
t += 30;
lbl[i].Top=t;
lbl[i].Text="Label"+i.ToString();
}
for(i=0;i<9;i++)
{
this.Controls.Add(lbl[i]);
}
}
و اینم یه نمونه ی دیگه از همین

private void button1_Click(object sender, EventArgs e)
{
Label[] lbl = new Label[10];
int i;
for(i=1;i<10;i++)
{
lbl[i]=new Label();
lbl[i].Left= i * 10;
lbl[i].Top = i * 10;
lbl[i].Text="Label"+i.ToString();
}
for(i=9;i>=0;i--)
{
this.Controls.Add(lbl[i]);
}
}
لطفا خواهشا اگه کسی میدونه این کد توی ویژوال بیسیک 6.0 چی میشه خواهشا بهم بگین بی نهایت ممنونتون میشم

winner1
یک شنبه 27 بهمن 1392, 15:13 عصر
خیلی معذزت می خوام ولی چیه این برنامه یه ساعت وقت برده ده تا لیبلو به صفه اضافه میکنید لوکیشن هر کودومم نسبت به قبلی تغییر میدین این چیش سخته ؟

NASA's Spaceman
یک شنبه 27 بهمن 1392, 15:29 عصر
دوست عزیز وقتی کد آماده بزاری جلو کسی هیچ چیزی سخت نیست و اون میتونه خیلی راحت ازش سر در بیاره و دوم همه این لیبل ها در زمان اجرا روی فرم قرار میگیرن و در زمان طراحی هیچ چیزی بجز یه button نیست

دلتنگ اسمان
یک شنبه 27 بهمن 1392, 19:27 عصر
البته بدون ارایه هم میشه نوشت که من قبلا بر حسب نیازم نوشتم البته از نوع باتن.

private void Form1_Load(object sender, EventArgs e)
{
for (int t = 0; t < 10; t++)
{
Button btn = new Button();
btn.Name = "btn" + t.ToString();
btn.Text = "btn" + t.ToString();
btn.Location = new Point(10, t * 30);
this.Controls.Add(btn);

}
}

علی متقی پور
یک شنبه 27 بهمن 1392, 19:45 عصر
سلام دوست عزیز

کسائیکه به این تالار سر میزنن قاعدتا سی شارپ کار میکنن پس بعیده که وی بی 6 بدونن
بهتره سوالت رو تو تالار مخصوص خودش بپرسی تا سریعتر جواب بگیری

NASA's Spaceman
دوشنبه 28 بهمن 1392, 13:45 عصر
دقیقا مشکل من همین هست اگه اینجا بگم میگین برو تو وی بی 6 بگو برم اونجا بگم میگن برو تو سی شارپ بگو حالا اگه کسی اینجا پیدا شد بهم بگه ممنون میشم
و خواهشا دوستان تشکر از مطلب یادتون نره

ilia.rezaee
دوشنبه 28 بهمن 1392, 13:49 عصر
دقیقا مشکل من همین هست اگه اینجا بگم میگین برو تو وی بی 6 بگو برم اونجا بگم میگن برو تو سی شارپ بگو حالا اگه کسی اینجا پیدا شد بهم بگه ممنون میشم
و خواهشا دوستان تشکر از مطلب یادتون نره
سلام
عذر میخوام من قبلا 5 دقیقه روی مطلب کار کردم و درستش کردم
شما 10 ساعت کار کردبن؟؟
خنده دارههههه

NASA's Spaceman
دوشنبه 28 بهمن 1392, 14:00 عصر
بله کلی طول کشید چون دقیقا هر چی که مینوشتیم ویژوال استادیو گیر میداد حتی دقیقا همین کد رو
چنین چیزی خیلی عجیبه ولی حقیقت داره
خودم من هم آخرش نفهمیدم برا چی داشت گیر میداد
و من 35 روز هست دارم سی شارپ کار میکنم ولی از خیلی از سی شارپ کارایی که خودم دیدم بهتر عمل میکنم
این تشکر های شما واقعا بهم روحیه میده تا بیام بسمت سی شارپ و از همه ممنونم بابت تشکر ها

winner1
چهارشنبه 30 بهمن 1392, 10:13 صبح
بله کلی طول کشید چون دقیقا هر چی که مینوشتیم ویژوال استادیو گیر میداد حتی دقیقا همین کد رو
چنین چیزی خیلی عجیبه ولی حقیقت داره
خودم من هم آخرش نفهمیدم برا چی داشت گیر میداد
و من 35 روز هست دارم سی شارپ کار میکنم ولی از خیلی از سی شارپ کارایی که خودم دیدم بهتر عمل میکنم
این تشکر های شما واقعا بهم روحیه میده تا بیام بسمت سی شارپ و از همه ممنونم بابت تشکر ها
ببین دوست چون واسه شما سخته قرار نیس که واسه بقیه سخت باشه اون دوتا که میگی 16 سال کار کردن 16 سال هوا خردن چون من تو برنامه ها بار ها و بارها از این کارا میکنم
شما اصلا حرفه ای از ما بهتر

Mousavmousab
چهارشنبه 30 بهمن 1392, 17:57 عصر
سلام من هم قبلاٌ برای یکی از دوستان توضیح دادم اینو میشه به صورت List نوشت یعنی لیستی از Label ها فکر کنم اون طوری خیلی جالب تر بشه البته نیازی نیست نگه داشته باشی می تونی مثل گفته "دلتنگ آسمان" بعد از تولید به فرم اضافه کنی.

Mousavmousab
چهارشنبه 30 بهمن 1392, 18:08 عصر
لطفا خواهشا اگه کسی میدونه این کد توی ویژوال بیسیک 6.0 چی میشه خواهشا بهم بگین بی نهایت ممنونتون میشم
خدا بیامرزه VB6 رو
دوست عزیز توی وی بی به این صورت است. ببین (http://stackoverflow.com/questions/2355697/event-handling-for-dynamic-controls-in-vb6)

اینم ببینی بد نیست (http://visualbasic.ittoolbox.com/groups/technical-functional/visualbasic-l/event-for-dynamically-created-command-button-2076460)

ali_habibi1384
چهارشنبه 30 بهمن 1392, 18:48 عصر
من قبلا وی بی 6 کار میکردم اما چیزی که میخواید توی سی شارپ نداره

Mousavmousab
چهارشنبه 30 بهمن 1392, 18:52 عصر
توی وی بی 6 میشه Button به صورت داینامیک ساخت. من قبلاٌ ساختم ( فقط آزمایشی)
یعنی براش کد ننوشتم که وقتی روش کلیک میشه یک Enevt اجرا بشه. الانم جست و جو کردم دیدم با کلمه کلیدی که توی وی بی 6 هست میشه این کارو کرد. می تونی برین توی مثال ببینین.

mousa1992
چهارشنبه 30 بهمن 1392, 18:52 عصر
و من 35 روز هست دارم سی شارپ کار میکنم ولی از خیلی از سی شارپ کارایی که خودم دیدم بهتر عمل میکنم
این تشکر های شما واقعا بهم روحیه میده تا بیام بسمت سی شارپ و از همه ممنونم بابت تشکر ها

خوش اومدین به دنیای برنامه نویسی
در راهتون ثابت قدم باشین ؛ اگه تشکر دیگران ملاک کارتون باشه بهتره همینجا یکم توقف کنین، در مورد هدفتون بیشتر فکر کنین؛ شاید لازم باشه برگردین



دقیقا مشکل من همین هست اگه اینجا بگم میگین برو تو وی بی 6 بگو برم اونجا بگم میگن برو تو سی شارپ بگو حالا اگه کسی اینجا پیدا شد بهم بگه ممنون میشم
برنامه هایی هستن که کدهای c# , vb رو به هم تبدیل میکنن ؛ کافیه ی خورده سرچ کنید

موفق باشید

NASA's Spaceman
پنج شنبه 01 اسفند 1392, 11:09 صبح
ممنون از همه دوستان
یه سوال درباره همین هم دارم گفتم همین جا بگم دیگه
میخوام تمام لیبل هام رو در زمان اجرا فقط یکبار حرکت بدم و جایی که میخوام بزارم
خواهشا سورسش رو بهم بدین چون تازه کارم تو C# توضیح متوجه نمیشم ممنون از همه

sagggad
پنج شنبه 01 اسفند 1392, 11:25 صبح
خوش اومدین به دنیای برنامه نویسی
در راهتون ثابت قدم باشین ؛ اگه تشکر دیگران ملاک کارتون باشه بهتره همینجا یکم توقف کنین، در مورد هدفتون بیشتر فکر کنین؛ شاید لازم باشه برگردین


برنامه هایی هستن که کدهای c# , vb رو به هم تبدیل میکنن ؛ کافیه ی خورده سرچ کنید

موفق باشید
موسی جان این سایت ها کدهای VB.NET رو به #C تبدیل میکنند
اما این دوستان VB6 رو میگن
دوستان من قبلا در این تایپیک (http://barnamenevis.org/showthread.php?434928-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D8%AF%D8%B1-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D9%84%DB%8C%D8%A8%D9%84-%D9%87%D8%A7&highlight=%D8%A2%D8%B1%D8%A7%DB%8C%D9%87+%D8%A7%DB %8C+%D8%A7%D8%B2+%D9%84%DB%8C%D8%A8%D9%84) راجع به این موضوع بحث کردم و خیلی هم راحت به نتیجه رسیدم
دز VB6 شما به راحتی میتوانید هنگام ساخت شئ برای آن ایندکس بگذارید یعنی در صورتی که تعداد زیادی لیبل هم نام ایجاد کنید خود به خود هر یک دارای یک ایندکس میشود و سپس میتوان مثل آرایه از آن استفاده کرد.
جناب spaceman-form-nasa (http://barnamenevis.org/member.php?317933-spaceman-form-nasa) شما هم اگر جستجو میکردید این تایپیک رو مشاهده میکردید

ممنون از همه دوستان
یه سوال درباره همین هم دارم گفتم همین جا بگم دیگه
میخوام تمام لیبل هام رو در زمان اجرا فقط یکبار حرکت بدم و جایی که میخوام بزارم
خواهشا سورسش رو بهم بدین چون تازه کارم تو C#‎‎‎‎ توضیح متوجه نمیشم ممنون از همه راجع به این سوالت هم اگر مدیران بهم گیر ندن که چرا حرفی زدی، بهتره یه تایپیک جداگانه ایجاد کنی تا به جواب برسی
موفق باشید

Mani_rf
پنج شنبه 01 اسفند 1392, 12:45 عصر
سلام خواهشا از این مطلب تشکر یادتون نره چون که برا این برنامه یک ساعت من و دو تا از کسایی که 16 ساله برنامه نویسن روش بودیم تا درست شد

private void button1_Click(object sender, EventArgs e)
{
Label[] lbl = new Label[10];
int i;
int t = 20;
for(i=1;i<10;i++)
{
lbl[i]=new Label();
lbl[i].Left=200;
t += 30;
lbl[i].Top=t;
lbl[i].Text="Label"+i.ToString();
}
for(i=0;i<9;i++)
{
this.Controls.Add(lbl[i]);
}
}
و اینم یه نمونه ی دیگه از همین

private void button1_Click(object sender, EventArgs e)
{
Label[] lbl = new Label[10];
int i;
for(i=1;i<10;i++)
{
lbl[i]=new Label();
lbl[i].Left= i * 10;
lbl[i].Top = i * 10;
lbl[i].Text="Label"+i.ToString();
}
for(i=9;i>=0;i--)
{
this.Controls.Add(lbl[i]);
}
}
لطفا خواهشا اگه کسی میدونه این کد توی ویژوال بیسیک 6.0 چی میشه خواهشا بهم بگین بی نهایت ممنونتون میشم

من واقعا نمیدونم که باید به این سوال اینجا جواب بدم یا نه! اما چون مدیران دیگه تا الان حذفش نکردن فکر میکنم که بد نباشه راهنماییت کنم.
من 10سال پیش vb6 کار میکردم برای همین خیلی خوب یادم نمیاد و نمیتونم برات کد بنویسم اما این کار شدنیه
تا جایی که یادمه :
کنترل مورد نظر رو روی صفحه میگذاشتی، بعد کپی میکردی و روی همون فرم Past میکردی بعد ازت سوال میکرد که میخوای یک آرایه ازش درست کنی یا نه، بعد شما Yes میزدی. از اینجا به بعد اسم اون کنترلتون تبدیل میشد به آرایه از نوع اون کنترل. یا این که به خاصیت Index عدد 0 رو بده
بعد برای کنترل جدیدت یک اندیس در نظر میگیری، کنترل رو لود میکنی و بعد مختصات و محل قرار گیری رو مشخص میکنی.
من بجات گشتم ، تو این لینک (http://www.devx.com/tips/Tip/31654) هم کامل توضیح داده.