PDA

View Full Version : ایجاد صفحه شطرنجی با دیتا گرید



azards
یک شنبه 05 آبان 1387, 00:37 صبح
من میخوام تو سی شارپ یه صفحه شطرنجی با دیتا گرید ایجاد کنم و خانه های آن را به طور رندوم سیاه کنم به طوری که وقتی سایز صفحه را بزرگ میکنیم تعداد خانه های سیاه هم یبشتر شود و در یکی از خانه ها یک دایره ی رنگی قرار داشته باشد که قابلیت حرکت بر روی خانه های سیاه و سفید را داشته باشد (برای طراحی بازی maze ) لطفا برای طراحی این صفحه منو راهنمایی کنید

nathan
یک شنبه 05 آبان 1387, 11:08 صبح
دوست عزيزفكرنمي كنم بشه اين طوري انجام دادولي ميتوني به صورت يك درميان رديفهاروبه هررنگ دلخواهي دربياري يا حتي حالت تيك تاك ايجادكني.

AlternatingRowsDefaultCellStyle
و
RowsDefaultCellStyle

رودرقسمت Properties دستكاري كن درست ميشه.

azards
یک شنبه 05 آبان 1387, 18:20 عصر
نه حتما باید رندوم باشه صفحه شطرنجی رو هم از هرکی پرسیدم میگه با دیتا گرید درست کن ولی نمیگن چه طوری؟:متفکر:

Sajjad.Aghapour
دوشنبه 06 آبان 1387, 10:12 صبح
چرا میشه.فقط یه خورده روش کار کنی خودت می تونی درست کنی.
مثلا برای ایجاد یه صفحه شطرنجی اینطوری میتونی عمل کنی.


DataGridViewCellStyle style = new DataGridViewCellStyle();
style.BackColor = Color.Black;

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
for (int j = 0; j < dataGridView1.RowCount; j++)
{
if (i % 2 == 0 && j % 2 == 0)
dataGridView1.Rows[i].Cells[j].Style = style;
if (i % 2 != 0 && j % 2 != 0)
dataGridView1.Rows[i].Cells[j].Style = style;
}
}

برای رندوم کردن هم می تونی از کلاس Random استفاده کنی.

anahitanaragh
دوشنبه 26 اسفند 1387, 21:15 عصر
سلام دوست عزیز کدی که در بالا قرار داده اید خطا میده
من آن را در page load گذاشتم

seven7777777
سه شنبه 27 اسفند 1387, 07:10 صبح
دوست عزیز سلام
اول بگم که همیشه خطا رو بنویسید تا دوستان بهتر بتونن کمک کنن .
در مورد سوالتون شما می تونین یه صفحه دیتا گرید ایجاد کنید و بعد تمام property های مثل نمایش عنوان سطر ها و ستون ها ، نمایش علامت edit و یا حتی قابل edit بودن سلول های دیتاگرید رو ازش حذف کنید .
حالا چند بخش نیاز دارید :
1. برای حالت اولیه توصیه می شه از Full Screen استفاده کنید اما اگر نمیشه می تونید با توجه به اندازه فرم تون تعداد ردیف ها و ستون های دیتاگریدتون رو پیدا کنید .
2. با هر تغییر سایز فرم در event مربوطه با بررسی سایز فرم به تعداد این ردیف ها اضافه یا کم کنید .
3. برای سیاه کردن خانه ها به صورت Random می تونید همونطور که دوستمون گفتن از کلاس Random استفاده کنید ولی بهتره یه Style خاص برای سیاه کردن خونه ها داشته باشی .
4. وقتی سلول مورد نظرت برای سیاه کردن پیدا شد با دستور زیر می تونی سیاهش کنی :

datagridview1[i,j].Style.BackColor = Color.Black
یه کم با این 4 موردکار کنی می تونی به چیزی که می خوای برسی !