private void tcEHP_SelectedIndexChanged(object sender, System.EventArgs e)
{
TabControl tc = (TabControl) sender;
DesignTabs tag = (DesignTabs)tc.SelectedIndex;
// Sync up the various pane whenever they switch so the editor is always accurate
switch (_DesignChanged)
{ // Sync up the editor in every case
case DesignTabs.Design:
// sync up the editor
SetTextToScintilla(dcDesign.ReportSource);
break;
case DesignTabs.Edit:
case DesignTabs.Preview:
break;
}
// Below sync up the changed item
if (tag == DesignTabs.Preview)
{
if (rdlPreview.SourceRdl != scintilla1.Text) // sync up preview
this.rdlPreview.SourceRdl = scintilla1.Text;
}
else if (tag == DesignTabs.Design)
{
if (_DesignChanged != DesignTabs.Design)
{
try
{
dcDesign.ReportSource = scintilla1.Text;
}
catch (Exception ge)
{
MessageBox.Show(ge.Message, Strings.RdlEditPreview_Show_Report);
tc.SelectedIndex = 1; // Force current tab to edit syntax
return;
}
}
}
_CurrentTab = tag;
if (OnDesignTabChanged != null)
OnDesignTabChanged(this, e);
}