Как добавить строку в список в другой открытой форме? - PullRequest
1 голос
/ 20 июня 2019

Я пытаюсь добавить строку из frmAddSegment в список в frmMain. frmMain открыт при выполнении этого процесса, просто по какой-то причине строка не добавляется в список.

Я проверил строку, которую я пытаюсь добавить в список, используя окно сообщения, и оно работает нормально, оно просто не попадает в lsitbox. Свойство модификатора в списке также было установлено как public

frmMain fmain = new frmMain();
    fmain.lstbxSegments.Items.Add(segmentPBMin.ToString()+":"+segmentPBMin.ToString()+"."+segmentPBMils);

Я ожидал, что список будет содержать новый элемент, но он останется пустым.

1 Ответ

1 голос
/ 20 июня 2019

frmMain fmain = new frmMain ();

Вы создаете новый экземпляр "frmMain" и добавляете свой элемент в этот экземпляр, а не тот, который в данный момент работает. Вместо этого вы должны сделать:

the_Form_That_Is_Open_Right_Now.lstbxSegments.Items.Add(... your code here);

Если у вас возникли проблемы с поиском места создания формы, вы можете нажать Ctrl + F, убедиться, что для фильтра установлено значение «Полное решение», и выполнить поиск new frmMain(). Вы можете увидеть что-то похожее на это:

Application.Run(new frmMain());

Вы можете сохранить этот экземпляр в переменной следующим образом:

frmMain yourForm = new frmMain(); 
Application.Run(yourForm);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...