private void MainForm_Load(object sender, EventArgs e) { broadcaster = new Broadcaster(); broadcaster.BroadcastPort = 9050; broadcaster.DriversReady += delegate { if (pnlGuiButtons.InvokeRequired) { var drivers = broadcaster.GetDrivers(); foreach (var driver in drivers) { var button = new Button { Height = 24, Width = pnlGuiButtons.Width / 2 - 10, Text = driver.ProviderName, Tag = driver, Visible = true }; button.Click += (x, y) => { var b = x as Button; var t = b.Tag as IDriverAbstracter; t.ShowGui(); }; driverButtons.Add(button); pnlGuiButtons.Invoke(new MethodInvoker(() => pnlGuiButtons.Controls.Add(button))); } } }; broadcaster.Start(); //TODO: Dummy code, move into config or somethin broadcaster.VelocityRetentionFactor = 0.97; }