static void BuildDialogWindow(Factories.IFactory factory) { List <ISlider> sliderList = new List <ISlider>(); List <IButton> buttonList = new List <IButton>(); sliderList.Add(factory.GetSlider(1, 10, 2)); sliderList.Add(factory.GetSlider(10, 50, 3)); sliderList.Add(factory.GetSlider(0, 100, 5)); buttonList.Add(factory.GetButton("Cancel")); buttonList.Add(factory.GetButton("Accept")); IDialogWindow dialogWindow = factory.GetDialogWindow("UserSettings", sliderList, buttonList); foreach (var slider in sliderList) { for (int i = 1; i < 5; ++i) { slider.ChangeValue(i * 4); } } foreach (var button in buttonList) { button.ButtonPressed(); button.ButtonPressed(); } dialogWindow.DrawDialog(); }