C#模式窗体详解

概述

何谓模式窗体?简单的可以理解为窗体对话框,用户必须在完成该窗体上的操作或关闭窗体后才能返回打开此窗体的窗体。本文不对模式窗体的定义、特征、功能做具体讨论,主要把重点放在如何在.net窗体应用程序中有效的使用模式窗体,解决使用模式窗体中碰到的常见问题。

模式窗体的属性设置

在.net中一个System.Windows.Forms.Form类就表示一个窗体,通过visual studio 2005设计器能够直接添加窗体,切换到设计模式,在属性窗口中会显示属于该窗体的属性和事件。参照标准的模式窗体,以visual studio 2005程序的菜单工具->选项打开的那个选项对话框为例,对于设计器初始化的窗体还是需要进行一番设置才能达到专业化。令人高兴的是这些设置都可以在设计器模式中通过属性设置实现,笔者将通过代码来实现相应功能,下面对其进行详细描述。

Form.StartPosition属性,确定窗体第一次出现时的位置。这里设置为在父窗体的中间显示。this.StartPosition = FormStartPosition.CenterParent;

Form.HelpButton属性,确定窗体的标题栏上是否有“帮助”按钮。设置显示,看上去更人性化,但实际不一定会对帮助功能进行实现。

this.HelpButton = true;

Form.MaximizeBox属性,确定窗体标题栏的右上角是否有最大化框。设置不让她显示。

this.MaximizeBox = false;

Form.MinimizeBox属性,确定窗体标题栏的右上角是否有最小化框。设置不让他显示。

this.MinimizeBox = false;

Form.ShowIcon属性,指示是否在窗体的标题栏中显示图标。设置不显示。

this.ShowIcon = false;

Form.ShowInTaskbar属性,确定窗体是否出现在Windows任务栏中。这个当然要节省任务栏的宝贵空间。

this.ShowInTaskbar = false;

Form.FormBorderStyle属性,指示窗体的边框和标题栏的外观和行为。设置这个属性将不允许拖动调整窗体的大小,同时Icon属性将失效,并不显示窗体标题栏图片。

this.FormBorderStyle = FormBorderStyle.FixedDialog;

Form.ControlBox属性,确定窗体是否有“控件/系统”菜单框。通过该设置可以隐藏标题栏的控制按钮。在有些时候还是有必要设置为False,标题栏就不会再有控制按钮。

this.ControlBox = false;

通过对以上属性的设置,基本实现模式窗体的静态功能。对于是否允许调整窗体的大小可根据实际情况而定。

时间: 2024-09-28 17:45:43

C#模式窗体详解的相关文章

JSP使用Servlet作为控制器实现MVC模式实例详解_JSP编程

本文实例讲述了JSP使用Servlet作为控制器实现MVC模式的方法.分享给大家供大家参考.具体如下: 一.目标: ① 初步理解MVC模式: ② 掌握Servlet的编写: ③ 使用MVC模式完成登录功能. 二.主要内容: ① 分析JSP+JavaBean模式存在的问题,并介绍JSP+JavaBean+Servlet模式,以及和MVC模式的关系: ② 通过简单实例介绍Servlet的编写.配置和运行: ③ 采用Servlet完成登录功能的控制. 1. JSP+JavaBean这种模式存在的问题?

C++设计模式编程之Flyweight享元模式结构详解_C 语言

由遇到的问题引出享元模式: 在面向对象系统的设计何实现中,创建对象是最为常见的操作.这里面就有一个问题:如果一个应用程序使用了太多的对象,就会造成很大的存储开销.特别是对于大量轻量级(细粒度)的对象,比如在文档编辑器的设计过程中,我们如果为没有字母创建一个对象的话,系统可能会因为大量的对象而造成存储开销的浪费.例如一个字母"a"在文档中出现了100000 次,而实际上我们可以让这一万个字母"a"共享一个对象,当然因为在不同的位置可能字母"a"有不

Android SharedPreferences四种操作模式使用详解

Android  SharedPreferences详解 获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Activity对象的getPreferences()方法 两种方式的区别: 调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享. 调用Activity对象的getPreferences()方法获得的Sh

spring 注解模式 详解

Spring基于注解实现Bean定义支持如下三种注解: Spring自带的@Component注解及扩展@Repository.@Service.@Controller,如图12-1所示: JSR-250 1.1版本中中定义的@ManagedBean注解,是Java EE 6标准规范之一,不包括在JDK中,需要在应用服务器环境使用(如Jboss),如图12-2所示: JSR-330的@Named注解,如图12-3所示.   图12-1 Spring自带的@Component注解及扩展     图

Activity启动模式(launchMode)详解

Activity的启动模式有四种,standard.singleTop.singleTask.singleInstance. 1.standard standard是Activity默认的启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种启动模式. 每次启动都一个新的Activity位于栈顶. android:launchMode="standard",此时每次点击按钮都会创建新的Activity 现在,我们写一个简单的按钮 ,实现跳转Activity private But

JavaScript中的中介者模式的详解

一. 中介者模式的定义 中介者模式的定义:用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 中介者模式的作用是接触对象与对象之间的紧耦合关系. 二. 中介者模式的实现 在中介者模式中,独立的对象(colleague)之间并不直接通信,而是通过中介者对象.当其中一个colleague对象改变状态以后,它将会通知该中介者对象,而中介者对象将会把该变化传达到任意其他应该知道此变化的colleague对象. 用代码表示如下:

ubuntu10.04配置 nginx+php-fpm模式的详解_php实例

ppa安装php-fpm安装工具包 复制代码 代码如下: $ sudo apt-get install python-software-properties   添加ppa源 复制代码 代码如下: $ sudo add-apt-repository ppa:yola/php5 安装php5-fpm 复制代码 代码如下: sudo  apt-get  updatesudo  apt-get install  php5-fpm 其它必要的软件安装接 复制代码 代码如下: sudo   apt-get

基于Android设计模式之--SDK源码之策略模式的详解_Android

策略模式其实特别简单(听到这句话,大家是不是心里一下子放松了?).比如排序,官方告诉大家我这里有一个排序的接口ISort的sort()方法,然后民间各尽其能,实现这个排序的方法:冒泡,快速,堆等等.这些方法就是"不同的策略".然后,某个模块下,需要一个排序方法,但是暂时不能指定具体的sort方法(出于扩展的考虑),就需要使用ISort接口了.最后,具体什么场景下,传入什么具体的sort方法,实现灵活的排序.这就是策略模式!下面,我们分析Android中的动画是如何使用策略模式的. 1.

JavaScript中的代理模式的详解

一. 代理模式的定义 代理模式的定义:为其他对象提供一种代理,以控制对着这个对象的访问. 在代理模式中,一个对象充当另一个对象的接口. 这种模式看起来像是额外的开销,但是出于性能因素的考虑却是非常有用的.代理充当了本体对象的守护对象,并且试图使本体对象做尽可能少的工作. 二. 代理模式的适用场景 代理模式的适用场景有: 延迟一个大对象的实例化: 访问远程对象: 访问控制: - - 三. 代理模式的实现 在代理模式中,一个对象充当另一个对象的接口,使得本体对象做尽可能少的工作. /* ======