1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using System;
- using System.Windows.Forms;
- using System.ComponentModel;
- using FastReport.Utils;
- using FastReport.DevComponents.DotNetBar;
- namespace FastReport.Controls
- {
- internal class FontSizeComboBoxItem : ComboBoxItem
- {
- private float fontSize;
- private bool updating;
- public event EventHandler SizeSelected;
- [Browsable(false)]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
- public float FontSize
- {
- get
- {
- fontSize = Converter.StringToFloat(Text, true);
- UpdateText();
- return fontSize;
- }
- set
- {
- fontSize = value;
- UpdateText();
- }
- }
- [Browsable(false)]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
- public new System.Windows.Forms.ComboBox.ObjectCollection Items
- {
- get { return base.Items; }
- }
- private void UpdateText()
- {
- updating = true;
- Text = Converter.DecreasePrecision(fontSize, 2).ToString();
- updating = false;
- }
- private void OnSizeSelected()
- {
- if (updating)
- return;
- if (SizeSelected != null)
- SizeSelected(this, EventArgs.Empty);
- }
- private void ComboBoxEx_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Enter)
- OnSizeSelected();
- }
- private void ComboBoxEx_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (Enabled)
- OnSizeSelected();
- }
- private void ComboBoxEx_EnabledChanged(object sender, EventArgs e)
- {
- if (ComboBoxEx.Enabled)
- ComboBoxEx.DropDownStyle = ComboBoxStyle.DropDown;
- else
- {
- ComboBoxEx.DropDownStyle = ComboBoxStyle.DropDownList;
- ComboBoxEx.SelectedIndex = -1;
- }
- }
- public FontSizeComboBoxItem()
- {
- ComboBoxEx.DropDownStyle = ComboBoxStyle.DropDown;
- ComboBoxEx.KeyDown += new KeyEventHandler(ComboBoxEx_KeyDown);
- ComboBoxEx.SelectedIndexChanged += new EventHandler(ComboBoxEx_SelectedIndexChanged);
- ComboBoxEx.EnabledChanged += new EventHandler(ComboBoxEx_EnabledChanged);
- ComboBoxEx.DrawMode = DrawMode.OwnerDrawVariable;
- ItemHeight = 14;
- ComboWidth = 40;
- Items.AddRange(new string[] {
- "5", "6", "7", "8", "9", "10", "11", "12", "14", "16", "18", "20",
- "22", "24", "26", "28", "36", "48", "72"});
- }
- }
- }
|