A video report of a bug from a user in 86Box discord suggests that frmMain_Load event can be fired before lstVMs is populated thus leading to exception: "InvalidArgument=Value of '0' is not valid for 'startIndex'.\r\nParameter name: startIndex" when started from a shortcut.
Moving LoadVMs (and LoadSettings for consistency) to frmMain_Load should make sure the list is ready. Also it is a common pattern to only initialize components in constructor and wait until loaded event is fired before using the components.
A video report of a bug from a user in 86Box discord suggests that frmMain_Load event can be fired before lstVMs is populated thus leading to exception:
"InvalidArgument=Value of '0' is not valid for 'startIndex'.\r\nParameter name: startIndex"
when started from a shortcut.Moving LoadVMs (and LoadSettings for consistency) to frmMain_Load should make sure the list is ready. Also it is a common pattern to only initialize components in constructor and wait until loaded event is fired before using the components.