logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C#语言 第四部分 图形界面编程(六) 分组容器和卡片容器(2)

2 卡片式容器卡片容器(TabControl)是这样一种容器:它本身包含多个容器(类似于Panel类型的面板容器),但同时只能显示其中的一个,并隐藏其余的容器。卡片容器的用途很广泛,目前流行的浏览器都使用卡片式方式在一个浏览器内可以同时打开多个页面,例如:图1 卡片式浏览的Firefox浏览器卡片式容器解决了一个这样的问题:当我们需要在同一个窗体内放置为数众多的控件时,如

#c#
C#语言 第四部分 图形界面编程(五) 布局容器类(4)

6 分隔容器类分隔容器(SplitContainer)由分隔线和两个面板容器组成,可以通过分隔线将容器所在区域分为两个部分(左右或上下),每个部分里面有一个面板容器(Panel容器类),可以放置其它控件。通过鼠标拖动分隔线,可以改变容器两个区域的尺寸。分隔线可以通过SplitterWidth 属性控制,例如:// 设定分隔线宽度为2单位this.splitPane.Splitt

#c#
C#语言 第四部分 图形界面编程(五) 布局容器类(1)

从ContainerControl类继承的子类作为容器窗体,可以容纳除Form类对象外的其余窗体对象。在所有容器窗体内,最基本的就是顶级容器Form类以及面板容器Panel类。这两者的主要区别为:前者具有Windows标准框架(标题栏,最大化、最小化和关闭按钮,窗体边框,可调整尺寸),并且可以独立存在;后者只是一块区域,并且必须依附在某个容器窗体上,无法独立存在。除了它们的区别外,他们都具有:

#c#
C#语言 第四部分 图形界面编程(五) 布局容器类(2)

3 布局中的空白区域在.net Framework中,每个控件和其所处的容器以及容器内控件之间,都存在一个可以调整的空白区域,这个空白区域纯粹是为了布局的美观性而存在的。容器和容器内控件之间的空白称为容器的Padding属性,容器内控件之间的空白称为控件的Margin属性。看一下示意图:图1 Padding和Margin示意图很容易理解,蓝色箭头表示的四个空白位置为窗体容

#c#
C#语言 第四部分 图形界面编程(五) 布局容器类(3)

5 表格布局无论使用锚定布局还是流式布局,都无法达到复杂布局的效果,很多时候我们不得不使用绝对布局,忍受绝对布局带来的麻烦(要么容器尺寸一变化,界面就变得一团糟;要么在容器的Resize事件中写复杂的布局代码)。其实.net Framework中还具备一种很高级的布局方式——表格布局。表格布局顾名思义,就是将容器分为n行m列的二维表,这样一个二维元组就可以表示表格的一个单元格,例如(0,0

#c#
Java中动态加载jar文件和class文件

概述  诸如tomcat这样的服务器,在启动的时候会加载应用程序中lib目录下的jar文件以及classes目录下的class文件,另外像spring这类框架,也可以根据指定的路径扫描并加载指定的类文件,这个技术可以实现一个容器,容纳各类不同的子应用。  Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,不像C加载动态链接库只要一个文件名就可以搞定,但JDK仍提供了一整套

到底了