【问题标题】:WinForms - DataGridView Inherits style from GroupBoxWinForms - DataGridView 从 GroupBox 继承样式
【发布时间】:2010-03-11 13:10:02
【问题描述】:

我有一个奇怪的问题,我不知道这是否是 .Net DataGridView 在 GroupBox/TabControl 内的默认行为。

我从头开始创建了一个新的 WinForm 项目,并创建了一个 GroupBox(更改了文本样式)。像这样:

alt text http://www.freeimagehosting.net/uploads/65f5f2762d.png

然后,我创建了一个简单的DataGridView,完全没有字体样式,像这样:

alt text http://www.freeimagehosting.net/uploads/09f55f951a.png

然后,在设计模式下,我将 DataGridView 拖到 GroupBox 中,这种神奇的事情就发生了:

alt text http://www.freeimagehosting.net/uploads/d0334132f0.png

我的问题是,我可以禁用此行为吗?因为如果我在 GroupBox 之外更改 DataGridView 样式,然后将其拖入,则会丢失所有样式。

仅作记录,此表单根本没有NO CODE

提前致谢。

【问题讨论】:

  • 我也注意到了这个问题,尤其是字体问题。这似乎是设计使然,但我从来没有在拖入时更改过非默认样式,所以这看起来很奇怪。我发现“禁用”它的唯一方法是更改​​容器中默认的属性。

标签: c# datagridview coding-style groupbox


【解决方案1】:

尝试在组框中放置一个面板,然后设置面板的字体属性。这样 DataGridView 将继承面板的属性。比设置 DataGridView 的每个字体属性要容易得多。

【讨论】:

  • 天才!我不明白为什么这没有被标记为答案!
  • 不错!这是一个伟大而简单的实施解决方案。节省了我一些时间!
【解决方案2】:

您正在经历的被称为Ambient Properties。简而言之,它是一种机制,如果未明确分配属性,则控件将从其父级“继承”某些属性值。除了将希望的值分配给属性之外,我不知道有什么方法可以防止这种行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-29
    • 2017-04-03
    • 2014-12-03
    • 1970-01-01
    • 2023-03-25
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多