private void LoadFontCombo() { // Display the fonts in sorted order. var fontNames = new List <string>(); fontNames.AddRange(Browser.NamesOfFontsThatBrowserCanRender()); fontNames.Sort(); var defaultFont = CollectionSettings.GetDefaultFontName(); foreach (var font in fontNames) { _fontCombo.Items.Add(font); if (font == defaultFont) { _fontCombo.SelectedItem = font; } } // Make the font combobox wide enough to display the longest value. int width = _fontCombo.DropDownWidth; using (Graphics g = _fontCombo.CreateGraphics()) { Font font = _fontCombo.Font; int vertScrollBarWidth = (_fontCombo.Items.Count > _fontCombo.MaxDropDownItems) ? SystemInformation.VerticalScrollBarWidth : 0; width = (from string s in _fontCombo.Items select(int) g.MeasureString(s, font).Width).Concat(new[] { width }).Max() + vertScrollBarWidth; } _fontCombo.DropDownWidth = width; }