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