private void OnClose(int index)
{
var editControl = GetEditControlFromTab(editors.TabPages[index]);
var message = string.Empty;
if (editControl.IsRunning)
message = "Code is running. Are you sure you want to close?";
if(editControl.IsDirty)
message = "Code is unsaved. Are you sure you want to close?";
DialogResult result = DialogResult.OK;
if (!String.IsNullOrEmpty(message))
result = MessageBox.Show(message, "Confirm Close", MessageBoxButtons.OKCancel);
if (result == DialogResult.OK)
{
editControl.Stop();
editControl.IsRunningChanged -= IsRunningChanged;
editControl.IsDirtyChanged -= OnIsDirtyChanged;
editors.TabPages.RemoveAt(index);
}
}