Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Массив


Автор: BraM's 3.7.2004, 15:03
Как мне на стандартной виндовой форме отобразить массив double[n , n], где n определяется пользователем?

Автор: stab 3.7.2004, 15:26
редактирование данных требуется?

Автор: BraM's 4.7.2004, 00:54
cully , желательно... Даже обязательно.

Автор: stab 4.7.2004, 21:01
например, можно так:

Код

 public double[,] data;
 public int n;

 private void button1_Click(object sender, System.EventArgs e)
 {
  n = int.Parse(textBox1.Text);
  data = new double[n, n];

  Random rnd = new Random();
  for (int i = 0; i < n; i++)
   for (int j = 0; j < n; j++)
    data[i, j] = n * rnd.NextDouble();

  for (int i = 0; i < n; i++)
   for (int j = 0; j < n; j++)
   {
    TextBox box = new TextBox();
    box.Location = new System.Drawing.Point(i * 40, j * 20);
    box.Width = 39;
    box.Text = data[i, j].ToString("00.00");
    box.Tag = (i * n) + j;
    box.TextChanged += new System.EventHandler(box_TextChanged);
    Controls.Add(box);
   }
 }

 private void box_TextChanged(object sender, System.EventArgs e)
 {
  try
  {
   TextBox box = sender as TextBox;
   int itag = (int) box.Tag;
   data[itag / n, itag % n] = double.Parse(box.Text);
  }
  catch
  {
  }
 }


Автор: BraM's 5.7.2004, 09:18
cully , До такого я додумался. Спасибо. Но нет ли какого нибудь более... Изящного метода? Может, существует какой-нибудь компонент?..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)