J'ai eu un problème similaire dans le passé.
Ce que j'ai d'abord été passer de héritant Usercontrol à TabPage comme si
classe InterfaceUtilisateur: UserControl // Do peu concepteur puis changer pour
classe InterfaceUtilisateur: TabPage
Second je viens juste tous mes contrôles et d'autres choses dans la commande usercontrol et amarré cela dans un onglet.
troisième j'ai fait une classe générique qui prend n'importe quel usercontrol et fait le docking automatiquement.
afin que vous puissiez prendre votre « InterfaceUtilisateur » classe et juste obtenir un type que vous pouvez ajouter à un System.Windows.Forms.TabControl
public class UserTabControl<T> : TabPage
where T : UserControl, new()
{
private T _userControl;
public T UserControl
{
get{ return _userControl;}
set
{
_userControl = value;
OnUserControlChanged(EventArgs.Empty);
}
}
public event EventHandler UserControlChanged;
protected virtual void OnUserControlChanged(EventArgs e)
{
//add user control docked to tabpage
this.Controls.Clear();
UserControl.Dock = DockStyle.Fill;
this.Controls.Add(UserControl);
if (UserControlChanged != null)
{
UserControlChanged(this, e);
}
}
public UserTabControl() : this("UserTabControl")
{
}
public UserTabControl(string text)
: this(new T(),text)
{
}
public UserTabControl(T userControl)
: this(userControl, userControl.Name)
{
}
public UserTabControl(T userControl, string tabtext)
: base(tabtext)
{
InitializeComponent();
UserControl = userControl;
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// UserTabControl
//
this.BackColor = System.Drawing.Color.Transparent;
this.Padding = new System.Windows.Forms.Padding(3);
this.UseVisualStyleBackColor = true;
this.ResumeLayout(false);
}
}
J'ai travaillé pour moi! Honte personne n'a accepté cette réponse. – dcg
La partie la plus importante est de passer de TabPage à UserControl. Pour une raison quelconque, Visual Studio n'affiche pas le contrôle dans le concepteur s'il hérite de TabPage. Passer à UserControl résout ceci immédiatement. Maintenant, il apparaît également dans la boîte à outils. – lanoxx
Génie, résolu tout en même temps. – jkokorian