public void Run()
        {
            try
            {
                IAppHandler.StartBusy("Preparing controls");

                if (!this.Visible)
                {
                    this.Show();
                }

                IAppHandler.SuspendDrawing(this);
                EditingReady = false;

                //setup data first before controls, since there are
                //controls which are dependent on data
                OnSetupData();
                OnSetupControl();
            }
            finally
            {
                IAppHandler.ResumeDrawing(this);
                EditingReady = true;

                IAppHandler.EndBusy("Preparing controls");
            }
        }