Написать класс, который изменяет свойства компонента DataGridView - C#
Формулировка задачи:
У меня на форме размещено 3 пустых компонента DataGridView, хочу создать класс который позволит мне быстро изменять свойства данных компонентов - Ширину, высоту, положение на форме, а также изменять заголовки столбцов и содержимое ячеек.
Написал такой класс:
На форме ничего не происходит, помогите решить проблему, как перерисовать компонент на форме с новыми параметрами?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
namespace COMPortCSharp
{
class WriteToDataGreed
{
public DataGridView NewDataGridView;//
public string[] HeadersDataGrid;
public int HeigthDataGrid;
public int WidthDataGrid;
public int LocationX;
public int LocationY;
public void creatDataGrid()
{
for (int i = 0; i < HeadersDataGrid.Length; i++)
{
NewDataGrid.Columns[i].Name = HeadersDataGrid[i];
}
NewDataGrid.Location = new Point(LocationX, LocationY);
NewDataGrid.Height = HeigthDataGrid;
NewDataGrid.Width = WidthDataGrid;
int b = NewDataGrid.RowHeadersWidth;
for (int i = 0; i < NewDataGrid.ColumnCount; i++)
NewDataGrid.Columns[i].Width = (NewDataGrid.Width - b) / NewDataGrid.ColumnCount;
}
public WriteToDataGreed( DataGridView DataGridView, string[] Headers , int X, int Y, int H, int W)
{
HeadersDataGrid = Headers;
HeigthDataGrid = H;
WidthDataGrid = W;
LocationX = X;
LocationY = Y;
NewDataGridView = DataGridView;
}
}
}
вызов из формы
string[] HedersDataGridPacket = new string[]
{
"TimeOut",
"DeviceId",
"Protocol",
"DataId",
"CNum",
"Data",
"CRC",
"PacketByCOBS"
};
WriteToDataGreed WorkDataGrid = new WriteToDataGreed (dataGridPacketIn, HedersDataGridPacket , X,Y ,HEIGHT,WIDTH);
WorkDataGrid.creatDataGrid();Решение задачи: «Написать класс, который изменяет свойства компонента DataGridView»
textual
Листинг программы
for (int i = 0; i < HeadersDataGrid.Length; i++)
{
NewDataGridView.Columns[i].Name = HeadersDataGrid[i];
}
NewDataGridView.Location = new Point(LocationX, LocationY);
NewDataGridView.Height = HeigthDataGrid;
NewDataGridView.Width = WidthDataGrid;
int b = NewDataGridView.RowHeadersWidth;
for (int i = 0; i < NewDataGridView.ColumnCount; i++)
NewDataGridView.Columns[i].Width = (NewDataGridView.Width - b) / NewDataGridView.ColumnCount;
}
public WriteToDataGreed(DataGridView DataGridView, string[] Headers , int X, int Y, int H, int W)
{
HeadersDataGrid = Headers;
HeigthDataGrid = H;
WidthDataGrid = W;
LocationX = X;
LocationY = Y;
//NewDataGridView = new NewDataGridView();
NewDataGridView = DataGridView;
}
}
}