I haven't done windows forms in a long time so maybe this comment is wrong, but it feels that data binding should be used (for example to extract values from the UI https://github.com/ericgu/AnExerciseInCouplingDesRefWG/blob/master/StockTracker/Form1.cs#L76)