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