using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Infragistics.Win; using Infragistics.Win.Misc; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinTabControl; namespace Core.LgMes.Client.LgDeviceManager { public partial class frmModelFormStyle : Form { public frmModelFormStyle() { InitializeComponent(); SetModelFormStyle(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); this.SetControlStyle(this); } public new FormBorderStyle FormBorderStyle { get { return FormBorderStyle.FixedDialog; } set { base.FormBorderStyle = FormBorderStyle.FixedDialog; } } public new bool MaximizeBox { get { return false; } set { base.MaximizeBox = false; } } public new bool MinimizeBox { get { return false; } set { base.MinimizeBox = false; } } public new FormWindowState WindowState { get { return FormWindowState.Normal; } set { base.WindowState = FormWindowState.Normal; } } public new FormStartPosition StartPosition { get { return FormStartPosition.CenterScreen; } set { base.StartPosition = FormStartPosition.CenterScreen; } } public new bool ShowInTaskbar { get { return false; } set { base.ShowInTaskbar = false; } } private void SetModelFormStyle() { this.BackColor = Color.Gainsboro; this.FormBorderStyle = FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; this.WindowState = FormWindowState.Normal; this.StartPosition = FormStartPosition.CenterScreen; this.ShowInTaskbar = false; } private void SetControlStyle(Control parentCtrl) { try { foreach (Control ctrl in parentCtrl.Controls) { if (ctrl.HasChildren) SetControlStyle(ctrl); ctrl.EnabledChanged += new System.EventHandler(AllEnabledChanged); ctrl.Font = new Font("宋体", 9F); if (ctrl.ToString().IndexOf("UltraGroupBox") > 0 && (ctrl is UltraGroupBox)) { SetUltraGroupBoxStyle(ctrl as UltraGroupBox); continue; } if (ctrl.GetType().Name == "UltraTextEditor") { SetUltraTextEditorStyle((UltraTextEditor)ctrl); continue; } if (ctrl.ToString().IndexOf("UltraComboEditor") > 0 && (ctrl is UltraComboEditor)) { SetUltraComboEditorStyle(ctrl as UltraComboEditor); continue; } if (ctrl.GetType().Name == "UltraDateTimeEditor") { SetUltraDateTimeEditorStyle((UltraDateTimeEditor)ctrl); continue; } if (ctrl.GetType().Name == "UltraGrid") { SetUltraGridStyle((UltraGrid)ctrl); continue; } if (ctrl.GetType().Name == "Label") { SetLabelStyle((Label)ctrl); continue; } if (ctrl.GetType().Name == "CheckBox") { SetCheckBoxStyle((CheckBox)ctrl); continue; } if (ctrl.GetType().Name == "RadioButton") { SetRadioButtonStyle((RadioButton)ctrl); continue; } if (ctrl.GetType().Name == "TextBox") { SetTextBoxStyle((TextBox)ctrl); continue; } if (ctrl.GetType().Name == "ComboBox") { SetComboBoxStyle((ComboBox)ctrl); continue; } if (ctrl.GetType().Name == "Panel") { SetPanelStyle((Panel)ctrl); continue; } if (ctrl.GetType().Name == "Button") { SetButtonStyle((Button)ctrl); continue; } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } private void AllEnabledChanged(object sender, EventArgs e) { if (((Control)sender).Enabled == true) { if (sender is TextBox || sender is ComboBox) ((Control)sender).BackColor = Color.White;// Color.LightCyan; else if (sender is UltraTextEditor) ((UltraTextEditor)sender).Appearance.BackColor = Color.White;// Color.LightCyan; else if (sender is UltraComboEditor) ((UltraComboEditor)sender).Appearance.BackColor = Color.White;//= Color.LightCyan; else if (sender is UltraCombo) ((UltraCombo)sender).Appearance.BackColor = Color.White;// Color.LightCyan; else if (sender is UltraDateTimeEditor) ((UltraDateTimeEditor)sender).Appearance.BackColor = Color.White;// Color.LightCyan; else if (sender is UltraNumericEditor) ((UltraNumericEditor)sender).Appearance.BackColor = Color.White;// Color.LightCyan; } else { if (sender is TextBox || sender is ComboBox) ((Control)sender).BackColor = Color.White;//Color.Empty; else if (sender is UltraTextEditor) ((UltraTextEditor)sender).Appearance.BackColor = Color.White;//Color.Empty; else if (sender is UltraComboEditor) ((UltraComboEditor)sender).Appearance.BackColor = Color.White;//Color.Empty; else if (sender is UltraCombo) ((UltraCombo)sender).Appearance.BackColor = Color.White;//Color.Empty; else if (sender is UltraDateTimeEditor) ((UltraDateTimeEditor)sender).Appearance.BackColor = Color.White;//Color.Empty; else if (sender is UltraNumericEditor) ((UltraNumericEditor)sender).Appearance.BackColor = Color.White;//Color.Empty; } } /// /// 设置UltraGroupBox样式 /// /// UltraGroup控件 private void SetUltraGroupBoxStyle(UltraGroupBox ulgrpbx) { ulgrpbx.ViewStyle = Infragistics.Win.Misc.GroupBoxViewStyle.XP; ulgrpbx.Font = new System.Drawing.Font("宋体", 9F); ulgrpbx.BackColor = Color.FromArgb(213, 228, 242);//System.Drawing.Color.Gainsboro; ulgrpbx.HeaderAppearance.BackColor = System.Drawing.Color.Empty; ulgrpbx.HeaderAppearance.BackColor2 = System.Drawing.Color.Empty; } private void SetUltraDateTimeEditorStyle(UltraDateTimeEditor uldte) { //uldte.FlatMode = true; uldte.BorderStyle = UIElementBorderStyle.Default; uldte.Appearance.BackColor = Color.White;// Color.LightCyan; } /// /// 设置UltraComboEditor样式 /// /// UltraComboEditor控件 private void SetUltraComboEditorStyle(UltraComboEditor ulcmbxe) { //ulcmbxe.FlatMode = true; //ulcmbxe.AutoComplete = true; ulcmbxe.BorderStyle = Infragistics.Win.UIElementBorderStyle.Default; if (ulcmbxe.Enabled == true && ulcmbxe.ReadOnly == false) ulcmbxe.Appearance.BackColor = Color.White;// Color.LightCyan; } private void SetComboBoxStyle(ComboBox cbb) { cbb.FlatStyle = FlatStyle.Standard; cbb.BackColor = Color.White; } private void SetLabelStyle(Label lbl) { lbl.BackColor = Color.Transparent; } private void SetCheckBoxStyle(CheckBox cb) { cb.FlatStyle = FlatStyle.Flat; //cb.BackColor = Color.Transparent; } private void SetTextBoxStyle(TextBox tb) { tb.BorderStyle = BorderStyle.Fixed3D; if (tb.Enabled && !tb.ReadOnly) tb.BackColor = Color.White;// Color.LightCyan; else tb.BackColor = Color.White;//Color.Gainsboro; } private void SetUltraTextEditorStyle(UltraTextEditor ultTxtEdt) { ultTxtEdt.BorderStyle = UIElementBorderStyle.Default; //ultTxtEdt.FlatMode = true; if (ultTxtEdt.Enabled && !ultTxtEdt.ReadOnly) ultTxtEdt.Appearance.BackColor =Color.White;// Color.LightGray; else ultTxtEdt.Appearance.BackColor = Color.White;// Color.Gainsboro; } private void SetRadioButtonStyle(RadioButton rb) { rb.FlatStyle = FlatStyle.Flat; rb.BackColor = Color.Transparent; } private void SetPanelStyle(Panel pnl) { //pnl.BorderStyle = BorderStyle.FixedSingle; //pnl.BackColor = Color.Transparent; } private void SetButtonStyle(Button btn) { btn.FlatStyle = FlatStyle.Flat; btn.BackColor = Color.Transparent; } private void SetUltraGridStyle(UltraGrid ulgrid) { ulgrid.DisplayLayout.Appearance.BackColor = this.BackColor; ulgrid.DisplayLayout.BorderStyle = UIElementBorderStyle.Default; ulgrid.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.False; ulgrid.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill; ulgrid.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate; ulgrid.DisplayLayout.MaxColScrollRegions = 2; ulgrid.DisplayLayout.MaxRowScrollRegions = 2; ulgrid.DisplayLayout.UseFixedHeaders = true; ulgrid.DisplayLayout.Override.FixedHeaderIndicator = FixedHeaderIndicator.None; //ulgrid.DisplayLayout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.RaisedSoft; ulgrid.DisplayLayout.Override.HeaderAppearance.TextHAlign = Infragistics.Win.HAlign.Center; ulgrid.DisplayLayout.Override.HeaderAppearance.TextVAlign = Infragistics.Win.VAlign.Middle; ulgrid.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard; ulgrid.DisplayLayout.Override.MinRowHeight = 21; //ulgrid.DisplayLayout.Override.RowSelectorHeaderStyle = Infragistics.Win.UltraWinGrid.RowSelectorHeaderStyle.SeparateElement; ulgrid.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex; ulgrid.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.True; ulgrid.DisplayLayout.Override.AllowDelete = DefaultableBoolean.False; ulgrid.Font = new System.Drawing.Font("宋体", 9F); ulgrid.DisplayLayout.Appearance.FontData.SizeInPoints = 9; if (ulgrid.DisplayLayout.Bands.Count == 1) { ulgrid.DisplayLayout.Override.HeaderAppearance.BackColor = System.Drawing.Color.LightSteelBlue; ulgrid.DisplayLayout.Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue; ulgrid.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.GhostWhite; ulgrid.DisplayLayout.Bands[0].Override.SelectTypeRow = SelectType.SingleAutoDrag; ulgrid.DisplayLayout.Bands[0].Override.CellClickAction = CellClickAction.RowSelect; //ulgrid.DisplayLayout.Override.RowAppearance.BackColor = Color.GhostWhite; //ulgrid.DisplayLayout.Override.RowAppearance.ForeColor = Color.Black; //ulgrid.DisplayLayout.Override.SelectedRowAppearance.BackColor = Color.White; //ulgrid.DisplayLayout.Override.SelectedRowAppearance.ForeColor = Color.Black; //ulgrid.DisplayLayout.Override.SelectedCellAppearance.BackColor = Color.White; //ulgrid.DisplayLayout.Override.SelectedCellAppearance.ForeColor = Color.Black; //ulgrid.DisplayLayout.Override.ActiveCellAppearance.BackColor = ulgrid.DisplayLayout.Override.ActiveRowAppearance.BackColor; //ulgrid.DisplayLayout.Override.ActiveCellAppearance.ForeColor = ulgrid.DisplayLayout.Override.ActiveRowAppearance.ForeColor; //ulgrid.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.White; //ulgrid.DisplayLayout.Override.ActiveCellAppearance.ForeColor = Color.White; } else if (ulgrid.DisplayLayout.Bands.Count == 2) { ulgrid.DisplayLayout.Bands[0].Override.HeaderAppearance.BackColor = System.Drawing.Color.LightSteelBlue; ulgrid.DisplayLayout.Bands[0].Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue; ulgrid.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.GhostWhite; ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199); ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131); ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical; ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199); ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131); ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical; ulgrid.DisplayLayout.Bands[1].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131); } } } }