【问题标题】:Why does DataGridView adopt the font of a windows form?为什么DataGridView 采用windows 窗体的字体?
【发布时间】:2012-01-17 02:15:37
【问题描述】:

当我设置表单的字体时,DataGridView 采用相同的字体。

DataGridView为什么采用form的字体?

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    来自DataGridView.Font 的文档:

    Font 属性是环境属性。环境属性是控件属性,如果未设置,则从父控件中检索。例如,默认情况下,Button 将具有与其父 Form 相同的 BackColor。有关环境属性的更多信息,请参阅AmbientProperties 类或Control 类概述。

    换句话说,听起来它的行为与记录的完全一样。如果您希望它使用表单字体以外的字体其他,请显式设置该属性。

    【讨论】:

    • 我确实设置了所有 DefaultCellStyle 属性,但仍使用表单的字体。
    • @Rookian:鉴于这是你第一次提到 DefaultCellStyle,现在是更新你的帖子的好时机,用一个简短但完整的例子来解释你为什么认为应该使用不同的字体用过。
    • 现在可以了!我犯了一个小错误。谢谢你的解释。
    【解决方案2】:

    我遇到过同样的问题,我在表单上有一个默认字体,但我希望 DataGridView 有不同的字体。

    您可以通过放置将更改字体的 Load 事件来解决此问题。

    private void Form1_Load(object sender, System.EventArgs e)
    {  
       // set to your font you want.
       this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 15);
    }
    

    或者将DataGridView 放在GroupBox 中,然后将GroupBox 设置为我想要的字体——这个修复很丑,但它可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 2019-06-05
      • 2011-06-04
      • 1970-01-01
      相关资源
      最近更新 更多