나는 비슷한 문제가 과거에 있었어.
내가 먼저했다 UserControl을 너무
클래스 후 UserInterface처럼 tabpage을 상속 전환했다 무엇 : UserControl을 // 디자이너 비트는
클래스 후 UserInterface로 변경 마십시오 TabPage
둘째 난 그냥 넣어 내 모든 컨트롤과 물건을 usercontrol 및 도킹 탭 페이지로.
세 번째 나는 모든 usercontrol을 취하고 도킹을 자동으로 수행하는 제네릭 클래스를 만들었습니다.
개별 형태로 페이지 자체를 설계하여 I이 처리 그래서 당신은 당신의 '후 UserInterface'수업을 할 수 있고 당신이 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);
}
}
나를 위해 일했습니다! 수치심 아무도이 anwer을 허용했습니다. – dcg
정말 중요한 부분은 TabPage에서 UserControl로 변경하는 것입니다. 어떤 이유로 Visual Studio에서 TabPage를 상속하는 경우 디자이너에 컨트롤이 표시되지 않습니다. UserControl로 변경하면 즉시 해결됩니다. 이제 도구 상자에 나타납니다. – lanoxx
Genius, 모든 것을 한 번에 해결했습니다. – jkokorian