Я хотел бы попросить вас о помощи. Ты поможешь капитану новичку еще раз? :)
У меня есть несколько оконных форм, где я использую datagridview. Я хотел бы отформатировать представления данных одинаково на всех формах (например, AllowUserToAddRows = false;).
Для этого я создал класс MYFormatting и метод, как показано ниже. Я собираюсь использовать композицию, чтобы повторно использовать этот метод в нескольких формах. Я был бы признателен, если бы вы могли сказать мне, если мой подход правильный?
public class MyFormating
{
public void FormatDGV(DataGridView dgv)
{
dgv.AllowUserToAddRows = false;
dgv.AllowUserToDeleteRows = false;
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dgv.ColumnHeadersVisible = false;
dgv.RowHeadersVisible = false;
dgv.MultiSelect = false;
}
}
При инициализации новой формы
Form1 frmForm1 = new Form1(new MyFormating());
Затем в каждой форме я собираюсь вызывать метод myFormat и передавать datagridview.
public partial class Form1 : Form
{
private readonly MyFormating _myFormat;
public Managers(MyFormating myFormat)
{
InitializeComponent();
_myFormat = myFormat;
_myFormat.FormatDGV(dgvManagers);
Оставив класс MyFormatting таким, какой он есть, а затем изменив код формы Form1 ниже, я получил бы тот же результат. Это все еще композиция? Должен ли я сделать что-то подобное или соглашение, а не сказать, что я следую описанному выше пути?
При инициализации новой формы
Managers frmManagers = new Managers();
Затем в каждой форме я собираюсь создать новый экземпляр MyFormatting и передать сетку данных его методу
public partial class Form1: Form
{
private readonly MyFormating _myFormat;
public Form1()
{
InitializeComponent();
myFormat = new MyFormating();
myFormat.FormatDGV(dgvManagers);