Как перезагрузить форму, пока она запрашивает параметры?

Я передал объект набора данных в конструктор моей формы. теперь мне нужно обновить form1 из form2, поэтому код, который я написал в form1_load(), должен быть обновлен. но проблема в том, что form1 нуждается в значении набора данных в качестве аргумента, который мне здесь не нужен. просто хочу перезагрузить только form1.

Вот код для конструктора form1 (координатор2):

private DataSet _ds = null;
public Coordinator2(DataSet ds)
{
    InitializeComponent();
    _ds = ds;
}

и вот что я хочу сделать:

this.Close();
Coordinator2 cr2 = new Coordinator2(?);
cr2.refresh();

когда я написал приведенный выше код, он говорит: Coordinator2 не имеет конструктора, который принимает 0 аргументов.

1 ответ

Решение

Вы можете сделать то, что предложил Шрирам, и просто отправить null чтобы при попытке создать Coordinator2:

Coordinator2 cr2 = new Coordinator2(null);

Или вы можете определить необязательный параметр:

public Coordinator2(DataSet ds = null)
{
    InitializeComponent();
    _ds = ds;
}

В этом случае, если вы не будете отправлять аргументы конструктору, ds будет нулевым

Другие вопросы по тегам