C语言程序设计-界面布局与控件课件

PPT
  • 阅读 46 次
  • 下载 0 次
  • 页数 53 页
  • 大小 2.603 MB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
C语言程序设计-界面布局与控件课件
可在后台配置第一页与第二页中间广告代码
C语言程序设计-界面布局与控件课件
可在后台配置第二页与第三页中间广告代码
C语言程序设计-界面布局与控件课件
可在后台配置第三页与第四页中间广告代码
C语言程序设计-界面布局与控件课件
C语言程序设计-界面布局与控件课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 53
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】C语言程序设计-界面布局与控件课件.ppt,共(53)页,2.603 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44525.html

以下为本文档部分文字说明:

第8章界面布局与控件2Ch8界面布局与控件8.1基本概念8.2常用WPF控件及其扩展8.3*其他WPF控件及其控件8.1基本概念8.1.1WPF应用程序的生命周期8.1.2WPF的界面布局分类8.1.3WPF窗口的分类及其生存期事件8.1.4WPF控件的分

类及其内容模型48.1.1WPF应用程序的生命周期WPF应用程序通过从Application类继承的App类(App.xaml、App.xaml.cs)公开应用程序的定义。开发人员通过App类,可以定义在整个应用程序范围内都能使用的资源和公共属性。另外,还可以通过Ap

plication类提供的方法随时关闭应用程序。58.1.1WPF应用程序的生命周期1.Application类和App类WPF应用程序也是从Main方法开始执行(见App.xaml.cs文件)。当运行WPF应用程序时,系统会自动在Main方法中创建App对象

。在WPF应用程序中,可通过Application.Current获取一个Application类的实例。一个WPF应用程序仅有一个Application类的实例。68.1.1WPF应用程序的生命周期Application类常用的属性、方法和事件StartupUri属性获取或设

置应用程序启动时自动显示的用户界面MainWindow属性获取或设置应用程序的主窗口Shutdown方法停止当前的应用程序。用法:App.Current.ShutDown();一旦在WPF应用程序中调用了Shutdown方法,就会立即关闭应用

程序。78.1.1WPF应用程序的生命周期2.Shutdown方法为了控制关闭模式,在ShutDown方法的参数中,还可以通过ShutdownMode枚举类型指定应用程序的关闭模式。OnLastWindowClose:当用户关闭最后一个窗口或者

显式调用Shutdown方法时,立即关闭应用程序。这是默认的关闭模式。OnMainWindowClose:当用户关闭主窗口或者显式调用Shutdown方法时关闭应用程序。OnExplicitShutdown:仅当显式调用Shutdown方法时才关闭应用

程序。88.1.2WPF的界面布局分类WPF的布局类型分为两大类:绝对定位布局和动态定位布局。1.绝对定位布局绝对定位布局是指子元素使用相对于布局元素左上角(0,0)的坐标(x,y)来描述。当调整布局元素的大小(Wi

dth、Height)时,子元素的坐标位置不会发生变化,所以称为绝对定位布局。在WPF中,Canvas控件是唯一一个其子元素使用绝对定位布局的容器98.1.2WPF的界面布局分类2.动态定位布局动态定位布局是指

布局元素内的子元素位置以及排列顺序随着页面或窗口的大小变化而动态调整。在WPF中,除了Canvas布局元素内的子元素采用绝对布局外,其他布局元素内的元素采用的都是动态布局。动态定位布局能让开发人员最大限度地灵活控制界面中的元素,为了让元素旋转时不被裁剪,实际开发中应该尽量使用

动态布局。108.1.3WPF窗口的分类及其生存期事件WPF有两种类型的窗口:一种是WPF窗口(简称窗口),用于直接显示WPF元素;另一种是WPF导航窗口,用于显示WPF页。WPF窗口是从Window类继承的类。具有活动窗口的应用程序称为活动应用程序,也叫前台程序。

对于非活动应用程序来说,由于用户看不到活动窗口,所以也叫后台程序。118.1.3WPF窗口的分类及其生存期事件1.WPF窗口的分类及其生存期WPF窗口由非工作区和工作区两部分构成。非工作区主要包括

图标、标题、系统菜单、按钮(最小化、最大化、还原、关闭)和边框。工作区是指WPF窗口内部除了非工作区以外的其他区域,一般用WPF布局控件来构造。按照窗口的形式来划分,可将WPF窗口分为标准窗口、无标题窗口、工具窗口和自定义窗口。128.1.3WPF窗口的分类及其生存期事件1.WPF

窗口的分类及其生存期138.1.3WPF窗口的分类及其生存期事件2.窗口关联通过设置附属窗口的Owner属性让一个窗口拥有另一个窗口。例如:WindowownedWindow=newWindow()

;ownedWindow.Owner=this;ownedWindow.Show();通过这种方式建立关联之后,附属窗口就可以通过Owner属性的值来引用它的所有者窗口,所有者窗口也可以通过OwnedWindows属性的值来发现它拥有的全部窗口。148.1.3W

PF窗口的分类及其生存期事件3.窗口外观窗口的外观是指用户看到的窗口表现形式,行为指用户与窗口交互的方式。WPF窗口的外观一般使用XAML文件(.xaml)中的XAML标记来实现,而行为则一般在代码隐藏文件(.xaml.cs)中

用C#代码来实现。(1)窗口大小窗口大小由Width、MinWidth、MaxWidth、Height、MinHeight、MaxHeight以及SizeToContent等多个属性确定。158.1.3WPF窗口的分

类及其生存期事件3.窗口外观(2)窗口位置当窗口打开后,可通过Left和Top属性获取或更改窗口相对于屏幕坐标的x和y位置。还可以通过WindowStartupLocation属性设置窗口第1次显示时的初始位置,该属性用WindowStartup

Location枚举来表示,枚举值有Manual(默认)、CenterScreen、CenterOwner(3)最顶层窗口和z顺序设置窗口的Topmost属性168.1.4WPF控件的分类及其内容模型1.WPF控件的分类功

能分类内置的控件按钮Button、RepeatButton数据显示DataGrid、ListView、TreeView日期显示和选项Calendar、DatePicker对话框OpenFileDialog、P

rintDialog、SaveFileDialog数字墨迹InkCanvas、InkPresenter文档DocumentViewer、FlowDocumentPageViewer、FlowDocumentReader、FlowDocumentScrollViewer、StickyNote

Control输入TextBox、RichTextBox、PasswordBox布局Border、BulletDecorator、Canvas、DockPanel、Expander、Grid、GridView、GridSplit

ter、GroupBox、Panel、ResizeGrip、Separator、ScrollBar、ScrollViewer、StackPanel、Thumb、Viewbox、VirtualizingStackPanel、Window、WrapPanel媒体Ima

ge、MediaElement、SoundPlayerAction菜单ContextMenu、Menu、ToolBar导航Frame、Hyperlink、Page、NavigationWindow、TabControl选择CheckBox、

ComboBox、ListBox、RadioButton、Slider用户信息AccessText、Label、Popup、ProgressBar、StatusBar、TextBlock、ToolTip178.1.4WPF控件的分类及其内容模型

1.WPF控件的分类在WPF应用程序中,有以下两种创建控件对象的方式。(1)用XAML来实现静态不变的界面,则一般用XAML来实现。这种方式的优点是可直观地看到界面的效果,缺点是无法动态改变元素个数。(

2)用C#实现如果元素的个数由其他因素决定,比如游戏、动态显示的界面,则一般用C#代码来实现,这种方式的优点是灵活,缺点是只能在运行时才能看到设计的效果。188.1.4WPF控件的分类及其内容模型2.WPF内容模型WPF内容模型是指如何组织和布局WPF控件的内

容用XAML描述控件元素时,一般语法形式为:<控件元素名>内容模型</控件元素名>从语法上可以看出,WPF内容模型是构成控件内容的基础。198.1.4WPF控件的分类及其内容模型2.WPF内容模型(1)TextText内容模型表示一段字符串文本。

TextBox、PasswordBox都属于Text内容模型。(2)ContentContent内容模型表示该内容只包含“一个”类型为Object的对象,该对象可以是文本、图像以及其他元素。(3)HeaderedContentHeaderedContent表示其内

容模型为一个标题和一个内容项,二者都是任意对象。208.1.4WPF控件的分类及其内容模型2.WPF内容模型(4)ItemsItems表示一个项集合。可以通过设置控件的Items属性来直接填充该控件的每一项。(5)H

eaderedItems该内容模型表示一个标题和一个项集合。(6)ChildrenChildren内容模型表示一个或多个子元素,该属性的类型为UIElementCollection。8.2常用WPF控件及其扩展8.2.1停靠面板8.2.2网格8.2

.3单选按钮8.2.4复选框8.2.5列表框8.2.6下拉框8.2.7图像显示8.2.8图标按钮8.2.9媒体播放228.2.1停靠面板停靠面板(DockPanel)用于定义一个区域,并使该区域内的子元素在其上、下、左、

右各边缘按水平或垂直方式依次停靠。DockPanel控件常用属性如下。(1)LastChildFill属性该属性默认为true,表示DockPanel的最后一个子元素始终填满剩余的空间。(2)DockPanel.Dock当DockPanel内有多个子元素时,在每个子元素的开始标记中都可

以用DockPanel.Dock附加属性指定该子元素在其父元素中的停靠方式。238.2.1停靠面板【例8-1】演示DockPanel的基本用法248.2.2网格1.Grid网格(Grid)是最常用的动态布局控件,也是所有动态布局控件中唯一可按比例动态调整分配空间的控件。该控件定义由行和列组成的网格

区域,在网格区域内可以放置其他控件,放置的这些控件都自动作为Grid元素的子元素。Grid并不是只能作为最顶层元素来使用,任何一个元素都可以包含它。另外,Grid内的子元素中同样也可以嵌套Grid。258.

2.2网格每个Grid内的子元素都可以使用以下附加属性来定位。Grid.Row、Grid.Column:指定子元素所在的行和列。在C#代码中使用Grid.SetRow方法和Grid.SetCol方法指定子元素所在的行和列。Grid.RowSpan:使该子元素跨多行。例如,

Grid.RowSpan="2"表示跨两行。Grid.ColumnSpan:使该子元素跨多列。例如Grid.ColumnSpan="2"表示跨两列。268.2.2网格有两种方式让Grid自动调整行高和列宽。在Grid的行

定义或列定义的开始标记内,用Auto表示行高或列宽,此时它会自动显示单元格内子元素包含的全部内容,即使内容改变也是如此。在Grid的行定义或列定义的开始标记内,用“n*”根据加权比例分配网格的行和列之间的可用空间。当n为1时,可直接用一个星号(*)表示。2.GridSplitt

erGridSplitter控件可让用户拖动调整Grid控件中列或行的大小。278.2.2网格【例8-2】演示Grid的基本用法。288.2.3单选按钮单选按钮(RadioButton)一般用于从多个选项中选择其中

之一。RadioButton的内容模型是一个ContentControl,即它所包含的对象元素可以是任何类型(字符串、图像或面板等),但只能包含一个对象元素。GroupName属性:分组。将同一组的多个Radio

Button的该属性设置为同一个值。用户一次只能选择同一组中的一项,一旦某一项被选中,同组中其他的RadioButton将自动变为非选中状态。IsChecked属性:判断是否选中某个单选按钮,如果被选中,则为true,否则为false。298.2.3单选按钮【例8-3】演示Ra

dioButton的基本用法。308.2.4复选框复选框(CheckBox)继承自ToggleButton,用于让用户选择一个或者多个选项。一般用选中表示“是”,未选中表示“否”。有选中、“未选中”、“不确定”3种状态。常用

属性和事件如下Content属性:显示的文本。IsChecked属性:true表示选中,false表示未选中,none表示不确定。Checked事件:复选框选中时发生。UnChecked事件:复选框未选中时发生。318.2.4复选框【例8-4】演示复选框的基本用法328.2.

5列表框列表框(ListBox)用于显示一组选项,该控件的内容模型是Items。常用属性:Count属性:获取列表项的个数。SelectedIndex属性:获取当前选定项从0开始的索引号,未选择任何项时该值为−1。SelectedIte

m属性:获取当前选定的项,未选择任何项时该值为null。SelectionMode属性:选择列表项的方式,有以下取值。Single、Multiple、Extended338.2.5列表框常用方法和事件:Items.Add方

法:向ListBox的项列表添加项。Items.Clear方法:从集合中移除所有项。Items.Contains方法:确定指定的项是否位于集合内。Items.Remove方法:从集合中移除指定的对象。SelectionChanged事件:当选择项发生改变时引发此事件。348.

2.5列表框【例8-5】演示列表框的基本用法。358.2.6下拉框下拉框(ComboBox)的内容模型是HeaderedItems,它提供了一个可编辑和单击展开的下拉框。其中,下拉选项中每个选项的操作与ListBox的用法非常相似。【例8-6】演示下拉框的基本用法。368.2.7图像显

示图像显示(Image)是一个框架元素,一般用它来显示单帧图像。该控件可显示的图像类型有:.bmp、.gif、.ico、.jpg、.png、.wdp和.tif。Image控件不支持gif、tif等多帧图像的动画显示。如果某个图像文件

具有多个帧,它默认只显示第1个帧的内容。一般用Source属性获取或设置Image控件的图像源(默认值为null)。例如:<ImageSource="/images/img1.jpg"/>378.2.7图像显示可以用该控件的Stretch属性获取

或设置图像的拉伸方式。例如:<ImageSource="/images/img1.jpg"Stretch="Fill"/>【例8-7】演示Image控件的基本用法388.2.8图标按钮【例8-8】演示B

utton和Buttonz的基本用法398.2.9媒体播放System.Windows.Media命名空间下提供了很多类,这些类除了提供颜色、画笔、几何图形、图像、文本的处理功能外,还提供了对音频(Audio)和视频(Video)的集成支持。1.MediaElemen

t控件可播放多种类型的音频文件和视频文件,而且还能读取媒体文件信息、控制媒体的播放、暂停、停止以及音量和播放速度等。MediaElement的用法和Image控件的用法相似,可直接指定其SourceURI。408.2.9媒体播放1.MediaElement控件Med

iaElement对象的常用属性和事件如下。LoadedBehavior属性:设置加载MediaElement并完成预加载后的播放行为(Play、Pause、Manual、Stop、Close)。默认为Play。Unloade

dBehavior属性:设置卸载MediaElement后的行为,默认为Close。MediaOpened事件:加载媒体文件后引发,利用该事件可获取视频文件的宽度和高度。418.2.9媒体播放【例8-9】演示MediaElement的基本用法8.3*其他WPF控件及其扩展1.自定

义窗口和消息框(Windowz、MessageBoxz)【自学8-1】演示自定义窗口和消息框的基本用法。8.3*其他WPF控件及其扩展2.画布(Canvas)画布(以下简称Canvas)用于定义一个区域,被定义的区域称为画布。在该画布内的所有

子元素都用相对于该区域左上角的坐标位置x和y来定位,单位默认为像素。画布的左上角坐标为(0,0),向右为x轴正方向,向下为y轴正方向。Canvas是WPF提供的唯一一个采用坐标定位布局的控件。8.3*其他WPF控件及其扩展2.画布(Canvas)【自学8-2】演示Can

vas.ZIndex的基本用法8.3*其他WPF控件及其扩展3.分组框和选项卡(GroupBox、TabControl)【自学8-3】演示分组框和选项卡的基本用法8.3*其他WPF控件及其扩展4.边界框和视图框(B

order、ViewBox)【自学8-4】演示边界框和视图框的基本用法8.3*其他WPF控件及其扩展5.带水印的文本框和密码框(TextBox、PasswordBox)【自学8-5】演示带水印的文本框和密码框的基本用法8.3*其他WPF控件

及其扩展6.日历和日期选择(Calendar、DatePicker)Calendar显示一个可视化的日历,用户可通过它来选择日期。DatePicker用于在文本框中键入日期或使用下拉Calendar控件来选择日期。【自学8-6】演示日历和日期选

择的基本用法8.3*其他WPF控件及其扩展7.滑动条【自学8-7】演示滑动条的基本用法8.3*其他WPF控件及其扩展8.进度显示(BusyBox、ProgressBar、Progressz)【自学8-8】演示进度显示的基本用法8.3*其他WPF控件及其扩展9.菜单和快捷菜单(Menu

、ContextMenu)Menu控件称为菜单,用于将关联的操作分组或提供上下文帮助,该控件可以显示在窗口的任何一个位置,但一般显示在窗口的顶部。ContextMenu控件称为快捷菜单,也叫右键快捷菜单或上下文菜单。该控件

除了是右键弹出菜单外,其他用法与Menu控件的用法相同。这两个控件包含的菜单项都是通过MenuItem控件来实现的,MenuItem内还可以嵌套MenuItem,从而实现多级菜单。8.3*其他WPF控

件及其扩展9.菜单和快捷菜单(Menu、ContextMenu)【自学8-9】演示菜单和快捷菜单的基本用法8.3*其他WPF控件及其扩展10.树形视图(TreeView)【自学8-10】演示TreeView控件的基本用法

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?