Пример #1
0
        static void Main()
        {
            StationList testList = new StationList();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            MainWindow mainWindow = new MainWindow();

            //mainWindow.Location = new System.Drawing.Point(MainWindow.mainWindowX, MainWindow.mainWindowY);
            mainWindow.addButtons(testList);
            Application.Run(mainWindow);
        }
        public void addButtons(StationList stationList)
        {
            Boolean firstButtonAdded = true;
            List<Station> sList = stationList.getAvailableStations();
            sList.Sort();
            foreach(Station s in sList)
            {
                var button = new StationButton(s.getFrequency());
                button.Text = s.getName();
                button.Width = buttonSize;
                button.Height = button.Width;
                button.Margin = new System.Windows.Forms.Padding(buttonBorder, buttonBorder, buttonBorder, buttonBorder);
            
                flowLayoutPanel1.Controls.Add(button);
                availableButtons.Add(button);
                if (firstButtonAdded)
                {
                    firstButtonAdded = false;
                    button.selectAndTune();
                }
            }
            var buttonAdd = new StationButton(-1);
            buttonAdd.Text = "+";
            buttonAdd.Width = buttonSize;
            buttonAdd.Height = buttonAdd.Width;
            buttonAdd.Margin = new System.Windows.Forms.Padding(buttonBorder, buttonBorder, buttonBorder, buttonBorder);

            flowLayoutPanel1.Controls.Add(buttonAdd);
            availableButtons.Add(buttonAdd);
            int rowOffset = 39;
            int colOffset = 17;
            int elementsPerRow = 5;
            int numRows = (sList.Count + 1)/ elementsPerRow;
            if((sList.Count+1)%elementsPerRow != 0)
            {
                numRows++;
            }
            int elementSize = (buttonSize + 2 * buttonBorder);
            this.Height = elementSize * numRows+ rowOffset;
            this.Width = elementSize * elementsPerRow + colOffset;
        }