偽の設定後、トップレベルのフォーム、ソリューションのフォーム上のいくつかのコントロールは、その効力を失います

最近のプロジェクトを行う過程で問題が発生し、私は、フォームをForm1になり、次の操作を行います。

        SlowTractionForm form1 = new SlowTractionForm(DatabaseOperation, SysCommon);
        form1.FormBorderStyle = FormBorderStyle.None;
        form1.Tag = this;
        form1.TopLevel = false;
        form1.Dock = DockStyle.Fill;
        form1.Visible = true;          
        superTabItem_LowTraction.Text = slowTractionForm.Text;  //superTabItem_LowTraction  另一个窗体中的控件           
        superTabItem_LowTraction.AttachedControl.Controls.Add(slowTractionForm);

如上操作后,程序运行后,form1中MyGridBubbleBarEditControl自定义控件原有的效果不再出现,百思不得其解,后来无意中将“form1.TopLevel = false;”这句注释掉,控件的效果又出现了,但是项目中由于需要又不能将form1.TopLevel = true,最后受到网友的启发,将SlowTractionForm作为用户控件,使之继承UserControl,这样就避开了需要设置TopLevel的问题,最终MyGridBubbleBarEditControl控件的效果正常显示。

おすすめ

転載: www.cnblogs.com/vaila/p/11649552.html