Как обратиться к экземпляру класса объявленному на другой форме?

Для того чтобы обратиться к экземпляру класса, объявленному на другой форме в языке программирования C#, можно воспользоваться несколькими способами, в зависимости от архитектуры вашего приложения.

Первый способ - использование свойств и методов. Если экземпляр класса, к которому вы хотите обратиться, находится на другой форме, вы можете добавить в эту форму публичное свойство в котором будет храниться экземпляр класса. Например, предположим, у вас есть класс "MyClass" и форма "Form1", а на форме "Form2" у вас есть экземпляр класса "MyClass":

public class MyClass
{
    // Код класса MyClass
}

public partial class Form2 : Form
{
    public MyClass MyClassInstance { get; set; }

    // Код формы Form2
}

Теперь вы можете получить доступ к экземпляру класса "MyClass" на форме "Form2" из формы "Form1" следующим образом:

public partial class Form1 : Form
{
    private Form2 _form2;

    public Form1()
    {
        InitializeComponent();
        _form2 = new Form2();
        _form2.MyClassInstance = new MyClass();
    }

    // Код формы Form1
}

Теперь у вас есть доступ к экземпляру класса "MyClass" на форме "Form2" из формы "Form1" через свойство "MyClassInstance" объекта "_form2".

Второй способ - передача экземпляра класса через конструктор формы. В этом случае вы можете создать конструктор для формы "Form2", который принимает экземпляр класса "MyClass":

public partial class Form2 : Form
{
    private MyClass _myClassInstance;

    public Form2(MyClass myClassInstance)
    {
        InitializeComponent();
        _myClassInstance = myClassInstance;
    }

    // Код формы Form2
}

Теперь вы можете передать экземпляр класса "MyClass" при создании объекта формы "Form2":

public partial class Form1 : Form
{
    private Form2 _form2;

    public Form1()
    {
        InitializeComponent();
        _form2 = new Form2(new MyClass());
    }

    // Код формы Form1
}

Теперь у вас есть доступ к экземпляру класса "MyClass" на форме "Form2" из формы "Form1" через переменную "_myClassInstance" на форме "Form2".

Третий способ - использование статических переменных. Если вам необходимо получить доступ к экземпляру класса "MyClass" из разных форм, вы можете объявить статическую переменную в классе "MyClass" и использовать ее для доступа к экземпляру класса в разных формах:

public class MyClass
{
    public static MyClass Instance { get; } = new MyClass();

    // Код класса MyClass
}

Теперь вы можете получить доступ к экземпляру класса "MyClass" в любой форме следующим образом:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void SomeMethod()
    {
        MyClass myClassInstance = MyClass.Instance;
        // Используйте экземпляр класса "MyClass" по вашему усмотрению
    }

    // Код формы Form1
}

Теперь у вас есть доступ к экземпляру класса "MyClass" из любой формы, используя статическую переменную "Instance".