【问题标题】:Hot to change specific column header color only in datagridview?仅在 datagridview 中更改特定列标题颜色很热?
【发布时间】:2012-10-15 13:35:38
【问题描述】:

用途:VS 2005、C#、DataGridView、WinForms;

我需要为特定列的标题部分的字体/背景着色。我看到它只能对整个列列表的标题而不是单个列进行。非常感谢任何帮助。

【问题讨论】:

    标签: c# winforms datagridview visual-studio-2005 c#-2.0


    【解决方案1】:

    首先,您需要在 DataGridView 中将 EnableHeadersVisualStyles 设置为 false。 完成后,您可以在每列上设置单独的标题样式。

            DataGridViewColumn dataGridViewColumn = dataGridView1.Columns[0];
            dataGridViewColumn.HeaderCell.Style.BackColor = Color.Magenta;
            dataGridViewColumn.HeaderCell.Style.ForeColor = Color.Yellow;
    

    【讨论】:

    • 我能够将字体更改为粗体,而无需使用 dgc.HeaderCell.Style.Font = new Font(dgc.HeaderCell.DataGridView.DefaultCellStyle.Font, FontStyle.Bold) 将 EnableHeadersVisualStyles 更改为 false,其中 dgc 是我正在尝试修改的 DataGridViewColumn。
    • @B H:这适用于字体,但不适用于颜色。
    【解决方案2】:

    这样做

    DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
    {
         col.Name = "ColumnName";
         col.HeaderText = "HeaderName";
         col.DefaultCellStyle.ForeColor = Color.White;
         col.HeaderCell.Style.BackColor = Color.Red; //Column Header Color
         this.dataGridView1.Columns.Add(col);
    }
    

    【讨论】:

      【解决方案3】:

      创建一个名为 SetUpDataGridView 的方法名

      private void SetUpDataGridView()
      {
        dataGridView1.Columns[0].HeaderText = "Emp.Id";         
        dataGridView1.Columns[0].HeaderCell.Style.BackColor = Color.Chartreuse;
        dataGridView1.Columns[1].HeaderText = "Emp. Name";
        dataGridView1.Columns[1].HeaderCell.Style.BackColor = Color.Fuchsia;
      }
      

      在 Form_Load 中添加方法。 您可以为每个标题添加不同的颜色

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-27
        • 1970-01-01
        • 1970-01-01
        • 2014-12-12
        • 2021-08-05
        • 1970-01-01
        • 1970-01-01
        • 2015-02-21
        相关资源
        最近更新 更多