Полагаю, у вас есть как минимум две формы.Одна форма, называемая frmMain, позволяет открывать frmOptions.В frmMain добавьте переменную типа frmOptions, например:
public partial class frmMain : Form
{
private frmOptions optionsInstance = null;
...
В подпрограмму, открывающую диалоговое окно «Параметры», добавьте следующее:
if (optionsInstance == null || !optionsInstance.Visible)
{
optionsInstance = new frmOptions();
optionsInstance.Show();
}
Когда закроется frmOptions, optionsInstance не будетnull, поэтому вы проверяете, виден ли он перед созданием экземпляра frmOptions.
Если это не работает для вас, вы можете попробовать мьютекс, но это, вероятно, излишне.