Я предлагаю вам вставить ссылку на TabControl в форму в классе myclass.cs.
Вы можете сделать это либо определив конструктор для myclass, который принимает TabControl в качестве параметра, либо определив Public Property в myClass, который содержит ссылку на TabControl. Оба способа проиллюстрированы здесь:
public class myclass
{
// using "automatic" properties : requires C# 3.0
public TabControl theTabControl { get; set; }
// parameter-less 'ctor
public myclass()
{
}
// optional 'ctor where you pass in a reference to the TabControl
public myclass(TabControl tbControl)
{
theTabControl = tbControl;
}
// an example method that would add a new TabPage to the TabControl
public void addNewTabPage(string Title)
{
theTabControl.TabPages.Add(new TabPage(Title));
}
}
Таким образом, вы можете установить ссылку TabControl двумя способами из формы с помощью TabControl:
myclass myclassInstance = new myClass(this.tabControl1);
или
myclass myclassInstance = new myClass();
// do some stuff
// now set the TabControl
myClassInstance.theTabControl = this.tabControl1;
Альтернативой может быть предоставление Открытого свойства типа TabControl в Form1: но тогда вам нужно подумать о том, как myclass будет «видеть» текущий «экземпляр» Form1 ... если существует несколько экземпляров Form1? В случае наличия единственного и единственного TabControl вы можете использовать статическое свойство в Form1 для его представления.
В этом случае «кто создает кого» становится интересным: если форма создает myclass; если myclass создает форму; если и myclass, и Form создаются другой сущностью в приложении: я думаю, что все эти "векторы" будут зависеть от того, какой метод лучше применять.