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; }