Или даже проще, вы можете установить DialogResult сразу после закрытия. Например, если предположить, что ValidateSettings покажет пользователю все проблемы с формой или вернет true в противном случае:
private void btnOK_Click(object sender, EventArgs e)
{
if (ValidateSettings())
{
SaveSettings();
Close();
DialogResult = DialogResult.OK;
}
}