C#基础学习之——(一)Dock与Anchor

C#基础学习之——(一)Dock与Anchor提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Dock与Anchor是什么?1.Dock2.Anchor二、使用步骤1.设计界面2.使用Anchor与Dock总结前言C#基础学习之——(一)Dock与Anchor最近在对窗体控件进行布局时,发现了Dock与Anchor这两种不同的窗体布局属性,所以查阅了一些资料,在这里进行记录。提示:以下是本篇文章正文内容,下面案例可供参考一、Dock与Anchor是什么?1.Dock①Dock在英文中是停泊的意

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

C#基础学习之——(一)Dock与Anchor 最近在对窗体控件进行布局时,发现了Dock与Anchor这两种不同的窗体布局属性,所以查阅了一些资料,在这里进行记录。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Dock与Anchor是什么?

1.Dock

①Dock在英文中是停泊的意思,表示控件的某个边与窗体重合(零距离)。控件的变化则在设计的时候就能呈现。此外控件的DocK循序会影像到结果。 ②Dock有Bottom,Fill,Left,None,Right,Top六种DockStyle类型。其中Bottom意为该控件的下边缘停靠在其包含控件的底部,Fill意为该控件的各个边缘分别停靠在其包含控件的各个边缘,Left意为该控件的左边缘停靠在其包含控件的左边缘,Right意为该控件的右边缘停靠在其包含控件的右边缘,Top意为该控件的上边缘停靠在包含控件的顶端,None意为该控件未停靠。

2.Anchor

①Anchor在英文中是锚定的意思,表示在窗体重置时控件与窗体(或者父控件)的相对位置保持不变。控件变化要等到窗体重置的时候才能呈现。 ②当控件放置于窗体时,默认的anchor设置是“顶部、左边”,这使得控件和窗体的顶边和左边缘固定相关。

二、使用步骤

1.设计界面

我是先自己画了一个用户控件,分别有一个pictureBox,两个listView和一个splitContainer共四个控件,其中两个listView控件和一个splitContainer控件放置在groupBox中

C#基础学习之——(一)Dock与Anchor

2.使用Anchor与Dock

然后新建一个窗体并加载之前画好的用户控件

C#基础学习之——(一)Dock与Anchor
窗体设计尺寸小了,用户控件最右边有一部分没有显示完全,于是我改变窗体尺寸,得到

C#基础学习之——(一)Dock与Anchor
窗体时放大了,可是设计的用户控件并没有随着窗体的放大而进行改变。

这时候就用到了Dock与Anchor属性了,我先将pictureBox与splitContainer两个控件打包在一个panel里面(将pictureBox的Dock属性设置为Top确保其与panel上边缘绑定在一起,将splitContainer的Dock属性设置为Bottom确保其与panel的底部绑定在一起),对于这个panel的Dock属性就不设置了,只默认其Anchor属性为Top,left,这样当加载用户控件时,这个Panel的大小是按用户控件的设计大小进行加载的不会随着窗体的大小的改变而改变。然后我将两个listView的Dock属性设置为Fill,确保他们能随着各自的groupBox的大小进行变化,再将日志栏groupBox的Anchor属性设置为Top,Left,Right,确保日志栏的顶部跟右边能够随窗体的变化而变化(在这里Anchor属性设置包含Left后,应该是按照panel控件的右边缘位置设置自身的左边缘,与设计时的相对位置保持不变),将点位实时数据groupBox的Anchor属性设置为Top,Left,Right,Bottom,确保其底部,左边,右边随主窗体底部位置变化而变化,(由于pannel的Anchor属性默认为Top,Left,则其Bottom和Right是不会随着窗体的变化而变化,故日志栏groupBox的左边缘与点位实时数据groupBox的顶部与这个panel的底部跟右边缘的相对位置不变)。
设计完之后,估计加大主窗体的尺寸,看各控件如何变化:
设计界面:
在这里插入图片描述
窗体显示:
可以看到pictureBox与splitContainer的大小跟设计时的大小一致,而两个groupBox与其包含的listView都随着窗体的变大而变大。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了Anchor与Dock的简单使用,后续会继续探索的!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197421.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机c语言循环移位指令,avr单片机中左移位和右移位指令

    单片机c语言循环移位指令,avr单片机中左移位和右移位指令计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令,而我们所做的11…

    2022年5月6日
    156
  • vue-axios使用_vue post请求

    vue-axios使用_vue post请求什么是axiosAxios是一个基于promise的HTTP库,可以用在浏览器和node.js中。主要的作用:axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。a

    2022年7月30日
    11
  • DropDownList绑定数据源后,要插入项的处理「建议收藏」

    DropDownList绑定数据源后,要插入项的处理「建议收藏」privatevoidBindDivision(){DivisionServicedivisionService=newDivisionService();vardivisions=divisionService.GetList(base.AdminDivisionId)…

    2022年9月1日
    5
  • InnoDB数据库隔离级别

    InnoDB数据库隔离级别事务隔离级别分为四种(级别递减):1、Serializable(串行化):最严格的级别,事务串行执行,资源消耗最大;2、REPEATABLEREAD(重复读):保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。避免了“脏读取”和“不可重复读取”的情况,但不能避免“幻读”,但是带来了更多的性能损失。3、READCOMMITTED(提交读):大多数主流数据库的默认事…

    2022年5月18日
    33
  • Python 数组操作_python中数组的表示形式

    Python 数组操作_python中数组的表示形式文章目录前言 一、numpy是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在python中本身有着列表等数据结构,但是列表只是一种数据的存储容器,不具备任何计算能力。故引入数组的概念。提示:以下是本篇文章正文内容,下面案例可供参考一、numpy是什么?NumPy是一种非常常用的第三方模块,在学习数据分析及挖掘时经常能够用到他。接下来就阐述一些使用numpy进行的基本操作。二、使用步骤1.引入库代码如下(示例):i…

    2022年8月13日
    7
  • Vue子组件调用父组件的方法「建议收藏」

    Vue子组件调用父组件的方法「建议收藏」Vue中子组件调用父组件的方法,这里有三种方法提供参考第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法父组件<template><div><child></child></div></template><script>importc…

    2022年10月3日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号