首页 > Windows开发 > 详细

将一个窗体的TopLevel设置为false后,该窗体上的某些控件失去应有效果的解决方案

时间:2019-10-10 18:38:40      阅读:167      评论:0      收藏:0      [点我收藏+]

最近在做项目的过程中遇到了一个问题,我将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控件的效果正常显示。

将一个窗体的TopLevel设置为false后,该窗体上的某些控件失去应有效果的解决方案

原文:https://www.cnblogs.com/vaila/p/11649552.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!