C#之十八 GUI用户界面编程

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: C#之十八 GUI用户界面编程

C#程序设计与宿舍管理系统实战-c#宿舍管理系统,c#管理系统-C#视频教程-后端开发-CSDN程序员研修院

   图形用户界面(GUI),即人机交互图形化用户界面设计。Windows是典型的基于图形界面方式设计的操作系统,基于此你可以用鼠标来点击按钮等操作来和应用程序进行交互,很是方便、直观。


为创建基于Windows的应用程序,需要了解GUI特性使我们对Windows应用程序有所了解。


本章我们将讨论 GUI的特点和Windows环境的特性。

重点

       了解GUI的特点及组成

       了解GUI的在当前社会中的用处

        浏览GUI在当前在哪些操作系统中用到以及历史变迁

       Windows环境的主要特性

       对于事件驱动编程的介绍

       对于动态链接的介绍

预习功课

       什么是GUI?

       GUI由何组成?

       GUI有何作用?

       Windows产生的环境?

       事件驱动编程是什么?

Ø        动态链接是什么?

GUI 简介

       图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口),是指采用图形方式显示的计算机操作用户介面,准确来说 GUI 就是屏幕产品的视觉体验和互动操作部分。GUI 是一种结合计算机科学、美美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。

       GUI 即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到 GUI 在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事 GUI 的研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。

与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。

GUI的特点

 GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可用用通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。

GUI组成部分

       GUI一般由桌面、视窗、标签、菜单、图标、按钮、回收站、键盘、单一文档界面、多文档界面等组成。下面将会对上面的一些常用组成部分做出相应的介绍。

桌面

       在启动时显示,也是界面中最底层,有时也指代包括窗口、文件浏览器在内的“桌面环境”。在桌面上由于可以重叠显示窗口,因此可以实现多任务化。通过设置桌面背景,使视觉更加美观。

视窗

       通常在窗口四周设有菜单、图标,数据放在中央。在窗口中,根据各种数据/应用程序的内容设有标题栏,一般放在窗口的最上方,并在其中设有最大化、最小化(隐藏窗口,并非消除数据)、最前面、缩进(仅显示标题栏)等动作按钮,可以简单地对窗口进行操作。

标签 :

       多文件界面的数据管理方式中使用的一种界面,将数据的标题在窗口中并排,通过选择标签标题显示必要的数据,这样就使用权得接入的数据方式显得更为便捷。

图标 :

显示在管理数据的应用程序中的数据,或者显示应用程序本身。

数据管理程序,即在文件夹中用户数据的管理、进行特定数据管理的程序的情况下,数据通过图标显示出来。通常情况下显示的是数据的内容或者与数据相关联的应用程序的图案。另外,点击数据的图标,一般可以之间完成启动相关应用程序以后再显示数据本身这两个步骤的效率。

单一文件界面 :

       在窗口中,一个数据在一个窗口内完成的方式。在这种情况下,数据和显示窗口的数量是一样的。若要在其他应用程序的窗口使用数据,将相应生成新的窗口。因此窗口数量多,管理复杂。

多文件界面 :

 在一个窗口之内进行多个数据管理的方式。这种情况下,窗口的管理简单化,但是操作变为双重管理。

  Smalltalk

         Mac OS

         NEXTSTEP

         Mac OS X

         Microsoft Windows

         X Window System (类UnixOS、Linux)

         BTRON

         TownsOS

         MSX-View

         SX-Window

         BeOS

         Newton OS

         Zaurus OS

         Palm OS C#是什么

         面向对象的知识

         如何配置C#环境变量

         开发自己的第一个C#控制台程序 

英文                                                  中文

Graphical   User  Interface          图形用户界面

Application  Programming  Interface  应用编程接口

Single Document Interface            单一文件界面

Multiple Document Interface          多文件界

1990年代早期Unix 平台上执行的 X Window System1980年 Three Rivers公司推出Perq图形工作站

1981年 施乐公司推出了Alto的继承者Star,Alto曾首次使用了窗口设计

1984年 苹果公司推出Macintosh

1986年 首款用于Unix的窗口系统X Window System发布

1988年 IBM发布OS/2 1.10标准版演示管理器(Presentation Manager),这是第一种支持Intel计算机的稳定的图形界面

1992年 微软公司发布Windows 3.1,增加了多媒体支持

1995年 微软的Windows 95发布,其视窗操作系统的外观基本定型

1996年 微软发布Bob,此软件具有动画助手和有趣的图片。

1996年 IBM发布OS/2 Warp 4,它的交互界面得到显著改善,至今仍有不少ATM机运行这样的系统

1997年 KDE和GNOME两大开源桌面项目启动

1997年 苹果公司发布MAC OS 8,这个系统具有三维外观并提供了SpringLoaded Folder功能

2000年 苹果公司漂亮的Aqua,也就是Mac OS X系统的默认外观,可以让用户更轻松地使用计算机

2001年 微软发布Windows XP,实现桌面功能的整合

2003年 Mac OS X v10.3提供了一键单击访问任何已打开窗口的功能

2003年 Sun公司的Java桌面系统为GNOME桌面添加了和Mac类似的效果

2006年 微软发布Windows Vista,对此前其视窗操作系统的外观作了较大的修改

2008年 微软发布Windows 7,对此前其视窗操作系统不仅是外观,甚至是对硬件的支持都作了较大修改,比Vista降低了对硬件的要求

Windows环境特性的简介

Windows环境的最重要特性包含事件驱动编程和动态链接,并允许应用程序与用户进行有效交互。

 Windows允许用户使用鼠标执行程序。当用户单击控件时会产生一个事件,一个事件就是用户执行的一个行动。

       Windows产生消息来响应用户执行的每个事件,这些消息发送到应用程序,然后根据接收到的消息应用程序执行预定的行动。

相信大家都玩过扫雷吧!当你单击单元格时,游戏显示它周围雷的数量,此单元格就是一个事件。而在游戏过程中,如果你在一个地雷上单击,此时游戏会结束,而应用程序会显示所有的雷并且将笑脸图标改为哭脸图标,这些行动,如上面所述显示雷的个数、单击雷时显示所有雷以及将笑脸改为哭脸都是对事件的响应。

扫雷游戏界面


动态链接
(Dynamic  linking)是Windows环境中的应用程序能够在运行时链接到库函数的过程。

       在标准的C#程序中,程序调用的各种内置函数在编译时解析到一个库中。该库包含这些函数的代码。编译器确定函数需要的库并将代码从库中复制到程序,这种技术称为动态链接。(:内置函数为编程语言提供的内部函数

(.dll扩展名代表动态链接库。)

相比于静态链接,动态链接有如下优点:编译的程序量更小,因为很多内置的函数定义存储在库中。

■如果更新了库,不需要重新编译程序。

■多个程序共享相同代码,减少了对内存的需求。

选择题:

1、.dll扩展名代表_________

2:列举动态链接的三个优点__________、___________、____________。

在本章中,我们主要学习了:

u   Windows环境的两个重要特性

u   关于事件驱动编程以及动态链


英文                                                       中文

Dynamic Linkable Library                动态链

如上而提到的扫雷,如果有兴趣可以玩一下,可以从中更深一步的了解事件驱动编程

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
目录
相关文章
|
8月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
229 3
|
8月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
218 3
|
2月前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
44 3
|
18天前
|
存储 安全 编译器
学懂C#编程:属性(Property)的概念定义及使用详解
通过深入理解和使用C#的属性,可以编写更清晰、简洁和高效的代码,为开发高质量的应用程序奠定基础。
67 12
|
2月前
|
设计模式 C# 图形学
Unity 游戏引擎 C# 编程:一分钟浅谈
本文介绍了在 Unity 游戏开发中使用 C# 的基础知识和常见问题。从 `MonoBehavior` 类的基础用法,到变量和属性的管理,再到空引用异常、资源管理和性能优化等常见问题的解决方法。文章还探讨了单例模式、事件系统和数据持久化等高级话题,旨在帮助开发者避免常见错误,提升游戏开发效率。
75 4
|
4月前
|
API C#
C# 一分钟浅谈:文件系统编程
在软件开发中,文件系统操作至关重要。本文将带你快速掌握C#中文件系统编程的基础知识,涵盖基本概念、常见问题及解决方法。文章详细介绍了`System.IO`命名空间下的关键类库,并通过示例代码展示了路径处理、异常处理、并发访问等技巧,还提供了异步API和流压缩等高级技巧,帮助你写出更健壮的代码。
56 2
|
3月前
|
安全 C# 数据安全/隐私保护
实现C#编程文件夹加锁保护
【10月更文挑战第16天】本文介绍了两种用 C# 实现文件夹保护的方法:一是通过设置文件系统权限,阻止普通用户访问;二是使用加密技术,对文件夹中的文件进行加密,防止未授权访问。提供了示例代码和使用方法,适用于不同安全需求的场景。
173 0
|
4月前
|
安全 程序员 编译器
C#一分钟浅谈:泛型编程基础
在现代软件开发中,泛型编程是一项关键技能,它使开发者能够编写类型安全且可重用的代码。C# 自 2.0 版本起支持泛型编程,本文将从基础概念入手,逐步深入探讨 C# 中的泛型,并通过具体实例帮助理解常见问题及其解决方法。泛型通过类型参数替代具体类型,提高了代码复用性和类型安全性,减少了运行时性能开销。文章详细介绍了如何定义泛型类和方法,并讨论了常见的易错点及解决方案,帮助读者更好地掌握这一技术。
92 11
|
4月前
|
SQL 开发框架 安全
并发集合与任务并行库:C#中的高效编程实践
在现代软件开发中,多核处理器普及使多线程编程成为提升性能的关键。然而,传统同步模型在高并发下易引发死锁等问题。为此,.NET Framework引入了任务并行库(TPL)和并发集合,简化并发编程并增强代码可维护性。并发集合允许多线程安全访问,如`ConcurrentQueue<T>`和`ConcurrentDictionary<TKey, TValue>`,有效避免数据不一致。TPL则通过`Task`类实现异步操作,提高开发效率。正确使用这些工具可显著提升程序性能,但也需注意任务取消和异常处理等常见问题。
63 1