Это зависит от того, используете ли вы форму как конкретный тип формы, и «логически» имеет смысл, что вы работаете с формой, тогда непременно передайте ссылку на форму.
Это как любой другой класс - если бы я собирался получить доступ к элементам «сотрудника», я бы написал:
void DoSomething(Employee employee) { ...
Вместо:
void DoSomething(string firstName, string lastName, DateTime hireDate...) { ...
Первый очень чистый и очевидный.
Однако, если данные, которые вы используете, не связаны с формой, было бы лучше инкапсулировать их в свой собственный класс, который может использоваться как формой, так и вашим классом..
Кроме того, к объектам, к которым я обращаюсь, мне нужно предоставить средства доступа.
Если это так, я подозреваю, что наличие класса, инкапсулирующего данные,вероятно, лучший дизайн ... Форма может предоставлять свойство или метод, который возвращает экземпляр этого класса, и передавать его во второй класс.