Inheritance: System.Windows.Forms.DataGridView
Ejemplo n.º 1
0
 private void dgvCommandersLog_ColumnSorted(object sender, DataGridViewExt.SortedEventArgs e)
 {
     try
     {
         if(m_GUIInterface.saveSetting(sender, e))
         {
             sortDataGridView((DataGridView)sender);
         }
     }
     catch (Exception ex)
     {
         CErr.processError(ex, "Error while changing the sort order (all CmdrsLog)");
     }
 }
Ejemplo n.º 2
0
        public static bool SetControlColors(this Control controlObject, System.Drawing.Color newForeColor, System.Drawing.Color newBackColor, Boolean reset = false)
        {
            bool noBackColor;
            var  props = controlObject.GetType().GetProperties().Select(y => y.Name);

            noBackColor = false;

            controlObject.BackColor = newBackColor;
            controlObject.ForeColor = newForeColor;

            if (props.Contains("FlatStyle"))
            {
                var prop = controlObject.GetType().GetProperty("FlatStyle", BindingFlags.Public | BindingFlags.Instance);

                if (reset)
                {
                    prop.SetValue(controlObject, FlatStyle.Standard);
                }
                else
                {
                    prop.SetValue(controlObject, FlatStyle.Flat);
                }
            }

            if (props.Contains("FlatStyle"))
            {
                var prop = controlObject.GetType().GetProperty("FlatStyle", BindingFlags.Public | BindingFlags.Instance);

                prop.SetValue(controlObject, FlatStyle.Flat);
            }
            if (props.Contains("BorderStyle") && controlObject.GetType() != typeof(Label))
            {
                var prop = controlObject.GetType().GetProperty("BorderStyle", BindingFlags.Public | BindingFlags.Instance);

                prop.SetValue(controlObject, BorderStyle.FixedSingle);
            }
            if (props.Contains("LinkColor"))
            {
                var prop = controlObject.GetType().GetProperty("LinkColor", BindingFlags.Public | BindingFlags.Instance);

                prop.SetValue(controlObject, newForeColor);
            }
            if (props.Contains("BackColor_ro"))
            {
                var prop = controlObject.GetType().GetProperty("BackColor_ro", BindingFlags.Public | BindingFlags.Instance);
                prop.SetValue(controlObject, newBackColor);
            }
            if (props.Contains("ForeColor_ro"))
            {
                var prop = controlObject.GetType().GetProperty("ForeColor_ro", BindingFlags.Public | BindingFlags.Instance);
                prop.SetValue(controlObject, newForeColor);
            }
            if (props.Contains("BackgroundColor"))
            {
                var prop = controlObject.GetType().GetProperty("BackgroundColor", BindingFlags.Public | BindingFlags.Instance);
                prop.SetValue(controlObject, newBackColor);
            }
            if (props.Contains("GridColor"))
            {
                var prop = controlObject.GetType().GetProperty("GridColor", BindingFlags.Public | BindingFlags.Instance);
                prop.SetValue(controlObject, newForeColor);
            }
            if (props.Contains("DefaultCellStyle"))
            {
                // DataGridView
                var prop = controlObject.GetType().GetProperty("DefaultCellStyle", BindingFlags.Public | BindingFlags.Instance);

                var propsCellStyle = prop.GetType().GetProperties().Select(y => y.Name);

                if (propsCellStyle.Contains("BackColor"))
                {
                    var prop2 = propsCellStyle.GetType().GetProperty("BackColor", BindingFlags.Public | BindingFlags.Instance);
                    prop2.SetValue(controlObject, newBackColor);
                }
                if (propsCellStyle.Contains("ForeColor"))
                {
                    var prop2 = propsCellStyle.GetType().GetProperty("ForeColor", BindingFlags.Public | BindingFlags.Instance);
                    prop2.SetValue(controlObject, newForeColor);
                }
            }
            if (props.Contains("Columns") && controlObject.GetType() == typeof(DataGridViewExt))
            {
                DataGridViewExt dgv = (DataGridViewExt)controlObject;

                dgv.EnableHeadersVisualStyles = false;

                dgv.RowHeadersDefaultCellStyle.BackColor = newForeColor;
                dgv.RowHeadersDefaultCellStyle.ForeColor = newBackColor;

                dgv.ColumnHeadersDefaultCellStyle.BackColor = newForeColor;
                dgv.ColumnHeadersDefaultCellStyle.ForeColor = newBackColor;


                // DataGridView
                var prop = controlObject.GetType().GetProperty("Columns", BindingFlags.Public | BindingFlags.Instance);

                var propValues = (DataGridViewColumnCollection)prop.GetValue(controlObject, null);

                foreach (DataGridViewColumn propValue in propValues)
                {
                    propValue.DefaultCellStyle.ForeColor = newForeColor;
                    propValue.DefaultCellStyle.BackColor = newBackColor;
                    propValue.HeaderCell.Style.BackColor = newForeColor;
                    propValue.HeaderCell.Style.ForeColor = newBackColor;
                }
            }
            return(noBackColor);
        }