Не могу разобраться как сделать лабу DataViewGrid
Есть DataViewGrid он заполнялся с texbox-ов, как мне сделать заполнение со второй формы, которую я вызвал, но как передать с формы 2 переменные? Форма 2 теперь будет иметь такие элементы вместо textbox. Не пойму как сделать
private void button1_Click(object sender, EventArgs e)
{
{
dataGridView1.Rows.Clear();
int n = int.Parse(textBox1.Text);
int m = int.Parse(textBox2.Text);
dataGridView1.ColumnCount = n;
this.dataGridView1.RowCount = m + 1;
button2.Enabled = true;
}
}
В форме один у меня код который считал P из положительных строк, но его я буду переделывать в матрицу
private void button2_Click(object sender, EventArgs e)
{
int n = int.Parse(textBox1.Text);
int m = int.Parse(textBox2.Text);
int k;
int p = 0;
for (int i = 0; i < n; i++)
{
k = 1;
for (int j = 0; j < m; j++)
if (Convert.ToInt32(dataGridView1.Rows[j].Cells[i].Value) <= 0)
{
k = 0; break;
}
if (k != 0) p++;
}
label1.Text="P = " + p.ToString();
Как сделать чтобы при нажатии заполнить на button1 заполнялся dataviewgrid1 на форме 1. У меня пока все плохо
Form1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinAPP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public class Data
{
public static int Value1 { get; set; }
public static int Value2 { get; set; }
}
private void button1_Click(object sender, EventArgs e)
{
{
dataGridView1.Rows.Clear();
int n = Data.Value1;
int m = Data.Value2;
dataGridView1.ColumnCount = n;
this.dataGridView1.RowCount = m + 1;
button2.Enabled = true;
}
}
private void button2_Click(object sender, EventArgs e)
{
dataGridView2.Rows.Clear();
int n = Data.Value1;
int m = Data.Value2;
int k;
int p = 0;
float[,] array = new float[n, m];
for (int i = 0; i < n; i++)
{
k = 1;
for (int j = 0; j < m; j++)
{
array[i, j] = Convert.ToSingle(dataGridView1.Rows[j].Cells[i].Value);
}
}
dataGridView2.ColumnCount = n;
this.dataGridView2.RowCount = m + 1;
for (int i = 0; i < n; i++)
{
k = 1;
for (int j = 0; j < m; j++)
if (array[i, j] <= 0)
{
k = 0; break;
}
if (k != 0) p++;
}
label1.Text = "P = " + p.ToString();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
dataGridView2.Rows[j].Cells[i].Value = array[i, j];
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
Form2 fr2 = new Form2();
fr2.Show();
}
private void button3_Click(object sender, EventArgs e)
{
}
}
}
Form2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinAPP
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Form1.Data.Value1 = Convert.ToInt32(row.Value);
Form1.Data.Value2 = Convert.ToInt32(column.Value);
}
}
}
