科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件利用Anchor和Dock属性管理WinForm控件

利用Anchor和Dock属性管理WinForm控件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

为了缓解这个问题,.NET框架允许你对子控件设置属性,命令在调整父窗体大小时,它们应该如何运作。用来命令控件在调整大小时动作的两个属性就是“Dock”和“Anchor”。

作者:builder.com.cn 2007年4月6日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

要设置一个控件的Dock值,选择Visual Studio中的控件,然后转到属性窗口。你会看到一个标注为“Dock”的属性。点击这个属性的值的部分,会出现一个小窗口让你指定该控件将如何停驻。被赋予各种值的该窗体将显示在以下图像中(图表E、图表F和图表G):

图表E

利用Anchor和Dock属性管理WinForm控件

选择停驻左边

图表F

利用Anchor和Dock属性管理WinForm控件

选择停驻填充

图表G

利用Anchor和Dock属性管理WinForm控件

选择停驻顶部

和Anchor属性一样,直到发现它起了作用,你才会意识到它们的重要意义。图表H所示的是一个有5个子控件的窗体,每个子窗体都设置了不同的dock值。

图表H

利用Anchor和Dock属性管理WinForm控件

有不同dock值的5个子控件

图表I所示的是和图表H一样的窗口,除了一点,就是现在窗口已经被调整为更大的轨迹。

图表I

利用Anchor和Dock属性管理WinForm控件

更大的轨迹

图表J又显示的是和图表H一样的窗口,这次不同的是位于窗体底部、顶部、左边和右边的控件变小了。注意位于窗体中间被设置为dock Fill的控件,自动变大了。

图表J

利用Anchor和Dock属性管理WinForm控件

更小的轨迹

需要记住的是,对于Dock属性,添加控件的顺序会影响它们停驻的方式。例如,如果你对窗体添加控件A,指示其停驻填充,然后你对窗体添加控件B并指示其停驻顶部,控件B将覆盖控件A的上部。原因就是控件B被认为是在控件A的“前方”,因为它是在控件A之后添加的。

要解决这种情况,你必须在Visual Studio中右击控件A,并在上下文菜单中选择“放到前面(Bring To Front)”。这样就能使控件A出现在控件B的前方,控件也就能像预期的那样运作了。

示例程序

要想完全了解怎样使用Dock和Anchor属性,你可以下载包含在这篇文章下载版本中的示例程序。在这个程序中,有几个示范Dock和Anchor不同用法的窗体。自学这种功能的最好方法就是深入代码之中,亲自动手。

责任编辑:德东

查看本文的国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章