PDA

View Full Version : رسم یک آرایه به صورت جدول در فرم



arash.gh
پنج شنبه 01 دی 1390, 00:38 صبح
سلام دوستان خسته نباشید

یک آرایه 15 در 10 یعنی [5,10] بعدی رو فرض کنید تو ذهنمون یک جدول تشکیل میدیم که 5 تا خانه داره و 10 تا سطر حالا می خوام همین ذهنیت رو روی فرم پیاده کنم یعنی یه جدول 5 در 10 البته به فرض مثلا با موس روی هرکدوم از خانه ها کلیک کردم مختصات اون خانه رو بهم بده مختصات x,y فرم رو نمی خوام بلکه مختصات اون خانه رو از نظر آرایه مثلا اون خانه [2,3] آرایه باشه یه حالت شبیه سازی باشه که مختصات اون خانه رو از آرایه برگردونه.حالا شما چی پیشنهاد می کنید ؟ با چی می تونم این کارو انجام بدم؟

با تشکر

reza_mostafavi63
پنج شنبه 01 دی 1390, 01:22 صبح
با DataTable و DataGridview پياده سازي كن ..راحت :
كد زير رو عينا ميتوني استفاده كني :

//
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();

// ijad soton ha ya hamoon Field ha
for (int i = 1; i <= 5; i++)
dt.Columns.Add("Field " + i.ToString());

//megdar dehi
for (int i = 0; i < 10; i++)
{
dt.Rows.Add();
for (int j = 0; j < 5; j++)
dt.Rows[i][j] = i.ToString() + " - " + j.ToString();
}

//namayesh
dataGridView1.RowHeadersVisible = false;
dataGridView1.ColumnHeadersVisible = false;
dataGridView1.DataSource = dt;


}

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(e.RowIndex.ToString() + " + " + e.ColumnIndex.ToString());
}

asadegha
پنج شنبه 01 دی 1390, 03:12 صبح
می تونی یه لیبل هم بزاری رو فرمت. کد زیر رو بنویسی. بستگی داره واسه چی می خوای این کارو بکنی.



for (int i = 0; i <= a.GetUpperBound(0); i++)
{
for (int j = 0; j <= a.GetUpperBound(1); j++)
{
label1.Text += string.Format("{0," + (8- a[i, j].ToString().Length) + "}", a[i, j]);
}
label1.Text += "\n";
}

arash.gh
سه شنبه 06 دی 1390, 23:39 عصر
وقتی میگیم یک آرایه 10 در 15 تو ذهن خودمون به صورت فرضی یک جدول تشکیل می دیم که هرکدوم از خونه ها یه اندیس i,j دارن حالا همین قضیه رو می خوام یه جدول به صورت گرافیکی یا جور دیگه ای طراحی کنم که کاربر روی هرکدوم از خونه ها کلیک کنه یک خونه از اون آرایه باشه همین.