PDA

View Full Version : وارد کردن درایه های یک ماتریس با استفاده از keypress



qqwweerr
یک شنبه 22 دی 1387, 22:23 عصر
وارد کردن درایه های یک ماتریس با استفاده از keypress چه جوری میشه؟

مثلا در حالی که label کنار textBox عبارت a[0,2]0 رو نشون میده کاربر عدد 23 رو وارد کنه و Enter رو بزنه اونوخ a[0,2]=23 به عنوان یک دارایه دخیره بشه و به همین ترتیب دارایه بعدی...
.من خودم این رو نوشتم جواب نمی ده:
int[,] a = new int[5,3];

char harf;
harf = e.KeyChar;

for (int j = 0; j <5; j++)
{
for (int i = 0; i < 3; i++)
{
if (harf == '\r' )
{
label1.Text = "a[" + j + "," + i + "]";
a[j, i] = Convert.ToInt32(textBox1.Text)
}

من یک مبتدی هستم:خجالت:

ahmadsystemco
یک شنبه 22 دی 1387, 22:59 عصر
سلام

برای این کار روش شما به نظر من اشتباه است. (به نظر من کلا" اشتباه است:لبخندساده:)

برای این کار من می گویم که شما باید دو متغییر برای جابه جایی بین سطرها و ستون های ماتریس معرفی کنید مه مشخص شود هم اکنون در چه سطر و ستونب قرار دارید.
دو متغییر به صورت زیر مشخص شده و متد keypress را نیز برایتان گذاشته ام.


int i, j;

/////////////////


private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
matrix[i,j] = int.Parse(textBox.Text);
label.Text = "a[" + i.ToString() + "," + j.ToString() + "] = " + textbox.Text;
if (j < 9) //جا به جایی بین سطرها و ستون ها
{
j++;
}
else
{
if (i < 9)
{
j = 0;
i++;
}
else
{
//پر کردن ماتریکس تمام شد.
MessageBox.Show("پر کردن ماتریکس تمام شد");
}
}
textBox.Clear();
}
}
در ضمن در این کد یک textbox و یک label وجود دارد که آنها را برجسته می کنم.

و همچنین من هم آماتور هستم.

با تشکر AHS