DialogResult CloseFile()
{
if (hexBox.ByteProvider == null)
return DialogResult.OK;
try
{
if (hexBox.ByteProvider != null && hexBox.ByteProvider.HasChanges())
{
DialogResult res = MessageBox.Show(strings.SaveChangesQuestion,
Program.SOFTWARENAME,
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Warning);
if (res == DialogResult.Yes)
{
SaveFile();
CleanUp();
}
else if (res == DialogResult.No)
{
CleanUp();
}
else if (res == DialogResult.Cancel)
{
return res;
}
return res;
}
else
{
CleanUp();
return DialogResult.OK;
}
}
finally
{
ManageAbility();
}
}