Utwórz właściwość w formularzu odpowiadającym za wprowadzanie nowego elementu listy:
public partial class SecondForm : Form
{
public string? Output = null;
[...]
}
A następnie obsłuż go w formularzu, z którego wywołujesz formularz umożliwiający wypełnienie kontrolki wejścia:
private void SomeControl_SomeEvent(object sender, EventArgs e)
{
using (SecondForm inputForm = new())
{
inputForm.ShowDialog();
string personOutput = inputForm.Output;
[...]
}
}
Żeby mieć całkowitą pewność, że formularz został poprawnie zamknięty, możesz przy zatwierdzeniu formularza dla danych wejściowych ustawić wyliczenie DialogResult:
private void SomeControl_SomeEvent(object sender, EventArgs e)
{
[...]
Output = SomeTextBox.Text;
DialogResult = DialogResult.OK;
Close();
}
private void SomeControl_SomeEvent(object sender, EventArgs e)
{
using (SecondForm inputForm = new())
{
if (inputForm.ShowDialog() == DialogResult.OK)
{
string personOutput = inputForm.Output;
[...]
}
}
}