Ваши компоненты должны делать только одно. Калькулятор должен выполнить расчет и вернуть результат:
public static class Calc
{
public static double CalculateValue(double multiplier)
{
return 100 * multiplier;
}
}
Формы должны быть максимально простыми. Это означает, что они касаются только отображения элементов формы и передачи событий в обработчики событий. Фактическая логика, которая происходит в этих обработчиках событий, должна быть чужой ответственностью. Мне нравится передавать эту логику в конструкторе:
public partial class Form1 : Form
{
public Form1(Func<double, double>CalculateValue)
{
InitializeComponent();
button1.Click += (sender, eventArgs) => textBox1.Text = CalculateValue(.0025).ToString();
}
}
Создание и соединение классов друг с другом - еще одна обязанность. Простейшая версия - использовать метод Main ():
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var form = new Form1(Calc.CalculateValue);
Application.Run(form);
}
}