代码改变世界

随笔分类 -  C#程序开发范例宝典

1.窗体与界面设计-其他技术

2013-06-29 09:43 by BytesLoop, 853 阅读, 收藏,
摘要: 主要介绍如何创建和关闭 MDI 窗体,在大型项目和产品的开发中常常将系统设计为 MDI 界面。047 禁用窗口上的关闭按钮本实例主要用到窗口处理函数 WndProc 的重写方法,在该方法内部截获单击关闭窗口的信息,从而实现禁用关闭按钮的功能。创建一个项目,默认窗体为 Form1,在 Form1 窗体上添加一个 MenuStrip 控件。namespace _047_ForbidCloseButton{ public partial class Form1 : Form { public Form1() { InitializeCom... 阅读全文

1.窗体与界面设计-窗体控制技术

2013-06-28 18:55 by BytesLoop, 1328 阅读, 收藏,
摘要: 主要介绍如何动态创建窗体,在窗体关闭前加入提示信息以及任意控制窗体移动等相关技术,这些都是在实际开发中被广泛应用的技术。044 在关闭窗口前加入确认对话框窗口正要关闭但是没有关闭之前会触发 FormClosing 事件,该事件中的参数 FormClosing EventArgs e 中包含 Cancel 属性,如果设置该属性为 True,窗口将不会被关闭。因此在该事件处理代码中可以提示用户是否关闭程序,如果用户不想关闭程序,则设置该参数为 True。利用 MessageBox 参数的返回值可以知道用户所选中的按钮。创建一个项目,默认窗体为 Form1。namespace _044_QueryC 阅读全文

1.窗体与界面设计-设置窗体大小

2013-06-27 15:47 by BytesLoop, 2203 阅读, 收藏,
摘要: 用户打开软件后首先看到的就是窗体和窗体上的控件,如何设置窗体的大小及合理地设置窗体和控件的关系就变得十分重要。041 获取桌面大小C# 中提供了 Screen 对象,在该对象中封装了屏幕相关信息。可以通过读取 Screen 对象的相关属性来获取屏幕的信息,Screen.PrimaryScreen.WorkingArea 属性用于获取显示器的工作区。工作区是显示器的桌面区域,不包括任务栏、停靠窗口和停靠工具栏。Screen.PrimaryScreen.WorkingArea.Width 用于读取桌面宽度;Screen.PrimaryScreen.WorkingArea.Height 可以读取桌面 阅读全文

1.窗体与界面设计-设置窗体位置

2013-06-17 16:34 by BytesLoop, 1386 阅读, 收藏,
摘要: 在很多软件中,都会对窗体的大小、位置和移动进行限定。在不同分辨率的显示器中如何正确显示窗体,如何设置窗体始终在最上面...038 设置窗体在屏幕中的位置设置窗体在屏幕中的位置,可以通过设置窗体的属性来实现。窗体的 Left 属性表示窗体距屏幕左侧的距离,Top 属性表示窗体距屏幕上方的距离。创建一个项目,默认窗体为 Form1,为 Form1 添加 Label 控件,添加 TextBox 控件用来输入距屏幕的距离,添加 Button 控件用来设置窗体在屏幕上的位置。namespace _038_SetLocation{ public partial class Form1 : Form ... 阅读全文

1.窗体与界面设计-标题栏窗体

2013-06-17 14:45 by BytesLoop, 940 阅读, 收藏,
摘要: 标题栏是一个显著的位置,在这个位置添加按钮或进行一些个性化的设置,都会给人一种新奇的感觉。036 使窗体标题栏文字右对齐在 C#4.0 中实现这一功能非常容易,只需将窗体的 RightToLeft 属性设置为 Yes 即可。Form.RightToLeft 属性用来获取或设置一个值,该值指示是否将控件的元素对齐以支持使用从右向左的字体的区域设置。创建一个项目,默认窗体为 Form1,为 Form1 窗体添加背景图片,设置 RightToLeft 属性为 Yes。037 没有标题栏但可以改变大小的窗口窗口的样式是在窗口建立时确定的,在 C# 中实现窗体没有标题栏但是可以改变大小的窗口,有一个巧妙 阅读全文

1.窗体与界面设计-窗体动画

2013-06-17 14:26 by BytesLoop, 1186 阅读, 收藏,
摘要: 在窗体上添加一些动画效果,可以为操作者添加一些乐趣。031 窗体中的滚动字幕滚动字幕的效果其实就是改变文字的位置,在窗体上显示一串文字最好的办法就是利用 Label 控件。将 Label 控件的位置改变就可以实现文字的位置变换,如果该控件的位置不断的向水平方向移动,就会实现文字的滚动效果。改变 Label 控件的水平位置可以通过改变 Label 控件的 Left 属性的值来实现。用 Timer 控件对文字的移动进行时间控件。创建一个项目,默认窗体为 Form1,在窗体上添加 Label 控件用来显示消息,添加 Button 控件用来控制消息的移动,添加 Timer 控件用来控制滚动速度。nam 阅读全文

1.窗体与界面设计-窗体效果

2013-06-16 16:55 by BytesLoop, 1297 阅读, 收藏,
摘要: 在项目开发中的窗体的设计会影响用户对软件的整体印象,因此窗体的效果要设计得美观一些。029 制作鼠标穿透窗体在对桌面进行操作时,为了使桌面更加美观,可以在桌面的上面加一层类似于玻璃的效果,用户可以用鼠标透过“玻璃”对桌面进行操作。本实例通过使用鼠标穿透窗体类实现以上功能。主要用到了 API 函数 SetWindowLong 和 GetWindowLong。1.创建一个项目,默认窗体为 Form1,将该窗体的 FormBordeStyle 属性设置为 None,BackColor 属性设置为 Gainsboro,Opacity 属性设置为 60%,WindowState 属性设置为 Maximi 阅读全文

1.窗体与界面设计-多媒体光盘

2013-06-16 14:21 by BytesLoop, 555 阅读, 收藏,
摘要: 自动启动多媒体光盘技术应用十分广泛,现在的光盘大多应用这些技术,减少用户单击进入的时间。027 自动启动的多媒体光盘程序实现光盘的自动运行非常简单,当用户打开自动运行的光盘时,会发现光盘中有几个特殊的文件,分别为 "autorun.exe"、"run.ico" 和 "autorun.inf",其中"autorun.exe" 是光盘自动播放时执行的可执行文件,"run.ico" 是光盘的图标,"autorun.inf" 是一个 INI 文件。只要光盘中包含这些文件,那么在将光盘 阅读全文

1.窗体与界面设计-特殊形状的窗体

2013-06-16 12:35 by BytesLoop, 1351 阅读, 收藏,
摘要: 将界面以不规则的形状显示在桌面上,可以给用户一种新鲜的感觉。022 非矩形窗体在 .NET4.0 框架中可以不调用 API 非常轻松地实现这一功能。只要重写窗体的 OnPaint 方法,在方法中重新绘制窗体,然后用透明色将窗体设置透明即可。1.创建一个项目,默认窗体为 Form1,向 Form1 窗体中添加 Label 控件,并将 BackColor 属性设为透明,将 text 属性设为空。2.将窗体的 TransparencyKey 属性设为 Control,FormBorderStyle 设为 None。namespace _022_SpecialSharpWindows{ publ... 阅读全文

1.窗体与界面设计-特色程序界面

2013-06-14 16:23 by BytesLoop, 1163 阅读, 收藏,
摘要: 现在很多开发人员都将界面制作成不同类型,如隐藏式窗体、动态按钮窗体等,这样可以使界面更加形象化。017 隐藏式窗体本实例主要用到 Windows 下的 API 函数,它们是 WindowFromPoint 函数、GetParent 函数和 GetSystemMetrics 函数。注意:在调用 Windows 的 API 函数时必须引用命名空间 System.RunTime.InteropServices。1.创建一个项目,将其命名为 HideToolBar,默认窗体为 HideToolBar,TopMost 属性设置为 True。2.向 Form1 窗体中添加一个 ProgressBar 控件 阅读全文

1.窗体与界面设计-导航菜单界面

2013-06-13 17:55 by BytesLoop, 2118 阅读, 收藏,
摘要: 对于一些应用工具软件,界面不但要求人性化、漂亮、还要能突出界面功能和使用方便,这样才能吸引用户。014 OutLook 界面一般程序的菜单栏和工具栏是不可移动的,但是只要将 MenuStrip 和 ToolStrip 控件的 AllowItem Recorder 属性设为 True 就可以移动了。注意:在移动菜单栏和工具栏时,需要按住"Alt"键,同时用鼠标进行拖动。1.创建一个项目,默认窗体为 Form1,向 Form1 窗体中添加 MenuStrip 控件,用来设计主菜单;添加 ToolStrip 控件,用来设计工具栏;添加 StatusStrip 控件,用来设计状态栏 阅读全文

1.窗体与界面设计-状态栏设计

2013-06-13 14:24 by BytesLoop, 1656 阅读, 收藏,
摘要: 状态栏是用来显示当前程序状态的。状态栏可以分为多个面板,用来显示不同状态下的内容。011 在状态栏中显示检查框在状态栏中添加检查框比较容易,只需先将状态栏加入窗体,然后将检查框从工具栏中拖入状态栏即可。1.创建一个项目,默认窗体为 Form1,向 Form1 窗体中添加 StatusBar 控件,并从工具箱中为状态栏添加 CheckBox 控件。2.右键单击 StatusBar 控件,Insert 一个 StatusLabel。namespace _011_StatusBar{ public partial class Form1 : Form { public Fo... 阅读全文

1.窗体与界面设计-工具栏设计

2013-06-13 11:57 by BytesLoop, 1572 阅读, 收藏,
摘要: 在菜单栏中将常用的菜单命令以工具栏按钮的形式显示,并作为快速访问方式。工具栏位于菜单栏的下方,由许多命令按钮组成,每个命令按钮上都有一个形象的小图标,以标识命令按钮的功能。由于工具栏这种直观易用的特点,使其以成为 Windows 应用程序标准界面中不可缺少的元素。007 带背景的工具栏工具栏中的背景是一幅图片,在运行时应该将图片绘制到工具栏上,在 .NET4.0 中,只需将工具栏按钮的 BackGroundImage 属性设置为对应的图片即可。1.创建一个项目,默认窗体为 Form1,向 Form1 窗体中添加 ToolStrip 控件,并为工具栏添加相应的按钮。2.为工具栏中的按钮设置相应的 阅读全文

1.窗体与界面设计-菜单应用实例

2013-06-12 17:03 by BytesLoop, 1398 阅读, 收藏,
摘要: 菜单是程序开发中经常使用的界面元素,合理利用菜单不但可以使用户非常方便地使用程序的功能,而且还能提高工作效率。001 带历史信息的菜单要实现保存最近打开的文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的 *.ini 文件中,软件启动时读取 *.ini 文件中的数据建立数组菜单,即可实现显示历史菜单的功能。注意:要建立一个带历史信息的菜单,必须首先添加一个 MenuStrip 菜单控件,创建一个“文件”主菜单,在其下面创建打开、关闭所有、退出等菜单选项。同时向窗体添加 OpenFileDialog 控件,并将主窗体的 IsMdiContainer 属性设为 True。namespa 阅读全文