【问题标题】:Winforms: What Determines if Docking Moves Other ControlsWinforms:什么决定了停靠是否移动其他控件
【发布时间】:2014-02-18 15:33:18
【问题描述】:

例如,在 TabPage 中,我有一个停靠在“填充”的 DataGridView。如果我将 UserControl 的停靠属性设置为“右”位置,则 DataGridView 会按预期向左移动。如果我用面板或标签(也停靠在 TabPage 内的“右”)替换 UserControl,则 DataGridView 不会腾出空间。 Panel 或 Label 只是覆盖 DataGridView。我尝试了stackoverflow并做了一些阅读,但没有看到任何规则(还)。谢谢。

【问题讨论】:

    标签: c# winforms datagridview panel


    【解决方案1】:

    他们的 Z 顺序。您可以使用“置前”和“移到后”上下文菜单项对其进行操作,右键单击控件以查看菜单。

    当您使用 View + (Other Windows) + Document Outline 窗口时会更加清晰,它会在容器下方按 Z 顺序列出它们。并允许您拖放控件以更改其顺序,您可以立即在设计器中看到效果。

    【讨论】:

    • 对于在运行时添加的控件,它们的 z 顺序是 Controls 集合中的索引,对吗?从底部(第一次添加)到顶部(最后添加)?
    • 是的。索引 0 是 Z 顺序的顶部。 Controls.Add() 在末尾追加,将控件放在 Z 顺序的底部。 Controls.SetChildIndex() 来改变它。
    • 这与我的猜测完全相反。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-02-06
    • 2016-04-22
    • 2023-03-06
    • 2020-06-03
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多