سلام به همه
من می خوام یه برنامه ساده اسکور بورد بنویسم.به این طریق که امتیاز تیم رو که وارد کردیم تیم ها به ترتیب نزولی مرتب بشن به طوری که لوگو تیم ها هم کنار خودشون باشه.
کسی پیشنهادی نداره که من چطور این کارو انجام بدم؟
لطفا راهنمایی کنید.
سلام به همه
من می خوام یه برنامه ساده اسکور بورد بنویسم.به این طریق که امتیاز تیم رو که وارد کردیم تیم ها به ترتیب نزولی مرتب بشن به طوری که لوگو تیم ها هم کنار خودشون باشه.
کسی پیشنهادی نداره که من چطور این کارو انجام بدم؟
لطفا راهنمایی کنید.
سلام نمی خوام از دیتاگرید ویو استفاده کنم.اصلا نمی خوام از دیتابیس استفاده کنم.فقط امتیاز تیم ها و لوگو تیم ها برام ملاکه همین.
لطفا راهنمایی کنید
دوسته من منظورتون همون نمایش درختی هست میخواهید به صورت درختی نمایش دهید؟
آره فرقی نداره چی باشه.من می خوام یه اسکور برد درست کنم که هر تیم با یه عکس کنارش هست توش باشه.و وقتی امتیازات تیم هارو وارد می کنم این امتیازات تیم ها به ترتیب نزولی مرتب بشه بطوری عکس مربوط به هر تیمش کنار خودش باشه.
یه برنامه خیلی ساده اس فقط می خوام ظاهر خوبی داشته باشه
کسی نیست بتونه جواب منو بده؟
در حال حاضر ساده ترین راه برای انجام اینکار استفاده از WPF هست. در اونجا به راحتی با استفاده از یک listbox و Containerهایی که WPF در اختیارتون میذاره + دستکاری متد Sort میشه به سادگی چنین کاری رو انجام داد و نیازی به یوزر کنترل نخواهید داشت.کسی پیشنهادی نداره که من چطور این کارو انجام بدم؟
بله تعداد تیم ها ثابته.
میشه در این مورد بیشتر توضیح بدید؟من کارکردن با یوزر کنترل رو نمی دونم.میتونید یک یوزر کنترل درست کنید با توابعی برای تغییر عکس و متن کنترل های روش.
از قسمت project>>addnewitem یک یوزرکنترل به پروژه اضافه کنید و پیکچرباکس و دیگر کنترل های مورد نظر رو روش قرار بدید و اون کنترل هایی که میخواهید بعدا دستکاری کنید رو public کنید.
در قسمتی که میخواهید روی فرم اصلی نمایش داده بشند یک tableLayoutPanel قرار بدید و به تعداد مورد نیاز سطر بهش اضافه کنید.
بعد از یوزرکنترل نمونه بسازید و به سطر مورد نظر از tableLayoutPanel اضافه کنید.
مثلا:
UserControl1 team1 = new UserControl1();
private void Form1_Load(object sender, EventArgs e)
{
team1.Dock = DockStyle.Fill;
tableLayoutPanel1.Controls.Add(team1, 0, 0);
}
که شیء team1 رو به سطر اول اضافه میکنه.
بعد هر کدوم که باید اول نشان داده بشند اطلاعاتش رو در این یوزرکنترل ست کنید. و الی آخر
آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 08 اردیبهشت 1391 در 16:34 عصر
ممنون از راهنماییت
یه سورس مثال از این روش ندارید برام بزارید؟ممنون می شم خیلی احتیاج دارم
اینجوری خوبه فقط باید روش کار کنی اگه تونستی نرم افزار Family Tree Builder رو گیر بیاری خوبه بهت ایده میده من میخواستم کمکت کنم اما از فوتبال چیزی سر در نمیارم
mamnoon az tavajohet
ama mnam ikham ye chizi shabih be lique football besazam namikhad be football ashena bashid.faghat emtiyaz akhar baram malake masalan barname injoori nemayesh bede:
1-piroozi 10 emtiyaz
2-esteghlal 8 emtiyaz
3- sepahhan 7 emtiyaz
va ...
ke logo timha ham kenareshoon bashe
ye injoor chizi mikham sade ama shakil
mamnoon misham komakam konid
masala
سلام
با یه دیتاگریدویو و یه ImageList میشه اینکارو کرد البته خودت میتونی روی زیباییش بیشتر کار کنی، لوگوهای با کیفیت رو پیدا کن و روی رنگ ها هم کار کن. البته برای اینکه حجم نره بالا همه تیم ها رو نیاوردم
آخرین ویرایش به وسیله Mahmoud Zaad : شنبه 09 اردیبهشت 1391 در 11:19 صبح
دوست عزیز بفرما اینم از اون نرم افزار
نه پویا نیست، شما گفتید که فقط می خواید امتیاز نهایی رو نشون بدید خبری از وارد کردن داده و این حرفا نبود! الان هم مشکلی نیست برای ورود داده می تونید یه کمبوباکس یا لیست باکس داشته باشید که اسم تیم ها توش هست حالا اول اسم تیم انتخاب میشه و بعد امتیاز تیم وارد میشه با توجه به اندیس تیم می تونید از ImageList عکس مورد نظر رو هم اضافه کنید. و همونجا هم سورت انجام میگیره. مثلا برای رویداد کلیک دکمه ای که اطلاعات رو اضافه میکنید:
dataGridView1.Rows.Add("", imageList1.Images[listBox2.SelectedIndex], textBox1.Text, Convert.ToInt32(textBox2.Text), Convert.ToInt32(textBox3.Text));
//for sorting
dataGridView1.Sort(dataGridView1.Columns["emtiaz"], ListSortDirection.Descending);
برای ستون ردیف هم که اتوماتیک اضافه بشه کد زیر رو در رویداد RowStateChanged بنویسید:
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
dataGridView1.Rows[i].Cells["radif"].Value = i + 1;
}