I always learned by doing so here's a very basic example. Web or Windows, doesn't matter...
Model
// basic template for what your view will do
public interface IProgram
{
public string FirstName { get; set; }
}
View
public class Program : IProgram
{
ProgramController _controller;
public Program()
{
// pass itself to the controller
_controller = new ProgramController(this);
}
public string FirstName
{
get { return firstNameTextBox.Value; }
set { firstNameTextBox.Value = value; }
}
}
Controller
public class ProgramController
{
IProgramView _view;
public ProgramController(IProgramView view)
{
// now the controller has access to _view.FirstName
// to push data to and get data from
_view = view;
}
}
You can bind any members this way, such as events