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);