예제 #1
0
        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;
        }