private void EditRule(IDataRule oldRule)
        {
            int idx = lstSources.Items.IndexOf(((DataSourceRule)oldRule).TypeofInternalSource.ToString().Replace("_", " "));

            if (idx != -1)
            {
                Result   = oldRule;
                editMode = true;
                lstSources.SetSelected(idx, true);
                lastCtrl.EditRule(oldRule);
            }
        }
        private void lstSources_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataResources aSource = (DataResources)Enum.Parse(typeof(DataResources), lstSources.SelectedItem.ToString().Replace(" ", "_"));

            if (lastCtrl != null)
            {
                this.mainPanel.Controls.Remove((UserControl)lastCtrl);
            }
            switch (aSource)
            {
            case DataResources.Occupations:
            case DataResources.US_Companies:
            case DataResources.LastNames:
            case DataResources.List_Of_Streets:
            case DataResources.List_Of_Countires:
            case DataResources.Male_Names:
            case DataResources.Female_Names:
            case DataResources.European_Companies:
                lastCtrl = new SingleColumnListCtrl();
                break;

            case DataResources.US_Cities:
            case DataResources.Industry_Sectors:
                lastCtrl = new TreeListCtrl();
                break;

            case DataResources.List_Of_US_States:
            case DataResources.US_PostalCodes:
                lastCtrl = new MultiColumnListCrl();
                break;
            }

            lastCtrl.SourceType = aSource;
            this.mainPanel.Controls.Add(lastCtrl, 1, 0);
            this.mainPanel.SetRowSpan(lastCtrl, 2);
            lastCtrl.Dock = DockStyle.Fill;
            lastCtrl.LoadFile(aSource);
            if (editMode)
            {
                lastCtrl.EditRule(Result);
                editMode = false;
            }
        }