Написать класс, который изменяет свойства компонента 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д