C#学习常用类(11000)---Application类
2016-12-09 16:26
323 查看
Application类:
封装 Windows Presentation Foundation (WPF) 应用程序。
命名空间:
System.Windows
程序集: PresentationFramework(位于 PresentationFramework.dll)
继承层次结构
System.Object
System.Windows.Threading.DispatcherObject
System.Windows.Application
语法:
构造函数
属性
方法
显式接口实现
备注
Application 是一个类,用于封装 WPF 应用程序特定的功能,其中包括︰
Application Lifetime: Activated, Current, Deactivated, DispatcherUnhandledException, Exit, Run, SessionEnding, Shutdown, ShutdownMode, Startup.
应用程序范围窗口、 属性和资源管理: FindResource, ,GetContentStream, ,GetResourceStream, ,LoadComponent, ,MainWindow, ,Properties, ,Resources, ,StartupUri, ,Windows。
命令行参数和退出代码处理: Application.Startup, ,Application.Exit, ,Application.Shutdown。
Navigation: FragmentNavigation, LoadCompleted, Navigated, Navigating, NavigationProgress, NavigationStopped, NavigationFailed, SetCookie, GetCookie.
Application 实现以提供对其窗口、 属性和资源作用域服务的共享的访问的单一实例模式。 因此,只有一个实例的 Application 类可以创建每个 AppDomain。
您可以实现 Application 使用标记、 标记和代码隐藏或代码。 如果 Application 是否标记文件中的标记或标记与隐藏代码,必须配置为使用标记,实现 Microsoft Build Engine (MSBuild) ApplicationDefinition 项。
独立的应用程序不需要 Application 对象; 就可以实现一个自定义 static 入口点方法 (Main),这将打开一个窗口,而无需创建的实例 Application。 但是, XAML 浏览器应用程序 (XBAP) 需要 Application 对象。
下面的示例演示如何对标准应用程序是使用仅标记来定义︰
XAML
XAML
.NET Framework
自 3.0 起可用
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
线程安全
公共 static (Shared 在 Visual Basic 中) 这种类型的成员是线程安全。 此外, FindResource 和 TryFindResource 方法和 Properties 和 Resources 属性都是线程安全。
备注:转载自https://msdn.microsoft.com/zh-cn/library/system.windows.application(v=vs.110).aspx
******************************************
Application类:
提供 static 方法和属性以管理应用程序,例如启动和停止应用程序、处理 Windows 消息的方法和获取应用程序信息的属性。 此类不能被继承。
命名空间:
System.Windows.Forms
程序集: System.Windows.Forms(位于 System.Windows.Forms.dll)
继承层次结构
System.Object
System.Windows.Forms.Application
语法:
方法
备注
The
T:System.Windows.Forms.Application class has methods to start and stop
applications and threads, and to process Windows messages, as follows:
Run starts an application message loop on the current thread and, optionally, makes a form visible.
Exit or ExitThread stops a message loop.
DoEvents processes messages while your program is in a loop.
AddMessageFilter adds a message filter to the application message pump to monitor Windows messages.
IMessageFilter lets you stop an event from being raised or perform special operations before invoking an event handler.
This
class has P:System.Windows.Forms.Application.CurrentCulture and
P:System.Windows.Forms.Application.CurrentInputLanguage properties to
get or set culture information for the current thread.
You cannot create an instance of this class.
示例
The
following code example lists numbers in a list box on a form. Each time
you click button1, the application adds another number to the list.
The
Main method calls M:System.Windows.Forms.Application.Run to start the
application, which creates the form, listBox1 and button1. When the user
clicks button1, the button1_Click method displays a
T:System.Windows.Forms.MessageBox. If the user clicks No on the
T:System.Windows.Forms.MessageBox, the button1_Click method adds a
number to the list. If the user clicks Yes, the application calls
M:System.Windows.Forms.Application.Exit to process all remaining
messages in the queue and then to quit.
The call to M:System.Windows.Forms.Application.Exit will fail in partial trust.
版本信息
.NET Framework
自 1.1 起可用
线程安全
此类型的所有公共静态(Visual Basic 中的
已共享
在 Visual Basic 中)成员都是线程安全的。不保证所有实例成员都是线程安全的。
另请参阅
System.Windows.Forms 命名空间
备注:转自 https://msdn.microsoft.com/zh-cn/library/system.windows.forms.application(v=vs.110).aspx
封装 Windows Presentation Foundation (WPF) 应用程序。
命名空间:
System.Windows
程序集: PresentationFramework(位于 PresentationFramework.dll)
继承层次结构
System.Object
System.Windows.Threading.DispatcherObject
System.Windows.Application
语法:
public class Application : DispatcherObject, IQueryAmbient
构造函数
名称 | 说明 | |
---|---|---|
Application() | 初始化 Application 类的新实例。 |
名称 | 说明 | |
---|---|---|
Current | 获取 Application 当前对象 AppDomain。 | |
Dispatcher | 获取 Dispatcher 这 DispatcherObject 与相关联。(继承自 DispatcherObject。) | |
MainWindow | 获取或设置该应用程序的主窗口。 | |
Properties | 获取应用程序作用域属性的集合。 | |
ResourceAssembly | 获取或设置 Assembly 提供包 统一资源标识符 (URI) 中的资源 WPF 应用程序。 | |
Resources | 获取或设置应用程序范围的资源,如样式和画笔的集合。 | |
ShutdownMode | 获取或设置导致的情况, Shutdown 来调用方法。 | |
StartupUri | 获取或设置 UI 一个应用程序启动时自动显示。 | |
Windows | 获取应用程序中实例化的窗口。 |
名称 | 说明 | |
---|---|---|
Activated | 当应用程序成为前台应用程序时出现。 | |
Deactivated | 应用程序不再前台应用程序时发生。 | |
DispatcherUnhandledException | 当应用程序引发但未处理异常时出现。 | |
Exit | 应用程序关闭,且无法取消之前发生。 | |
FragmentNavigation | 当应用程序中的导航器开始导航到内容片段中,如果所需的片段是在当前的内容中,或源后立即发生导航 XAML 已加载内容,如果所需的片段位于不同的内容。 | |
LoadCompleted | 导航到的应用程序中的导航器的内容已被加载,分析,并开始呈现时发生。 | |
Navigated | 当找到应用程序中的导航器要将其导航到的内容后,尽管可能未完成加载时发生。 | |
Navigating | 当应用程序中的导航器在请求新导航时发生。 | |
NavigationFailed | 在应用程序中的导航器导航到所请求的内容时发生错误时发生。 | |
NavigationProgress | 在由应用程序可以提供导航进度信息中的导航器的下载过程中定期发生。 | |
NavigationStopped | 发生时 StopLoading 调用应用程序中的导航器的方法,或者当前导航正在进行时,通过导航器请求新导航时发生时。 | |
SessionEnding | 当用户结束时发生 Windows 通过注销或关闭操作系统的会话。 | |
Startup | 发生时 Run 方法 Application 调用对象。 |
名称 | 说明 | |
---|---|---|
IQueryAmbient.IsAmbientPropertyAvailable(String) | 针对指定的环境属性是可在当前范围内的查询。 |
Application 是一个类,用于封装 WPF 应用程序特定的功能,其中包括︰
Application Lifetime: Activated, Current, Deactivated, DispatcherUnhandledException, Exit, Run, SessionEnding, Shutdown, ShutdownMode, Startup.
应用程序范围窗口、 属性和资源管理: FindResource, ,GetContentStream, ,GetResourceStream, ,LoadComponent, ,MainWindow, ,Properties, ,Resources, ,StartupUri, ,Windows。
命令行参数和退出代码处理: Application.Startup, ,Application.Exit, ,Application.Shutdown。
Navigation: FragmentNavigation, LoadCompleted, Navigated, Navigating, NavigationProgress, NavigationStopped, NavigationFailed, SetCookie, GetCookie.
Application 实现以提供对其窗口、 属性和资源作用域服务的共享的访问的单一实例模式。 因此,只有一个实例的 Application 类可以创建每个 AppDomain。
您可以实现 Application 使用标记、 标记和代码隐藏或代码。 如果 Application 是否标记文件中的标记或标记与隐藏代码,必须配置为使用标记,实现 Microsoft Build Engine (MSBuild) ApplicationDefinition 项。
独立的应用程序不需要 Application 对象; 就可以实现一个自定义 static 入口点方法 (Main),这将打开一个窗口,而无需创建的实例 Application。 但是, XAML 浏览器应用程序 (XBAP) 需要 Application 对象。
下面的示例演示如何对标准应用程序是使用仅标记来定义︰
XAML
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" />下面的示例演示如何使用定义标准的应用程序只代码︰
using System; // STAThreadusing System.Windows; // Applicationnamespace SDKSample { public class AppCode : Application { // Entry point method [STAThread] public static void Main() { AppCode app = new AppCode(); app.Run(); } } }下面的示例演示如何对标准应用程序是使用标记和代码隐藏的组合来定义。
XAML
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SDKSample.App" />
using System.Windows; // Applicationnamespace SDKSample { public partial class App : Application { } }版本信息
.NET Framework
自 3.0 起可用
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
线程安全
公共 static (Shared 在 Visual Basic 中) 这种类型的成员是线程安全。 此外, FindResource 和 TryFindResource 方法和 Properties 和 Resources 属性都是线程安全。
备注:转载自https://msdn.microsoft.com/zh-cn/library/system.windows.application(v=vs.110).aspx
******************************************
Application类:
提供 static 方法和属性以管理应用程序,例如启动和停止应用程序、处理 Windows 消息的方法和获取应用程序信息的属性。 此类不能被继承。
命名空间:
System.Windows.Forms
程序集: System.Windows.Forms(位于 System.Windows.Forms.dll)
继承层次结构
System.Object
System.Windows.Forms.Application
语法:
public sealed class Application属性
名称 | 说明 | |
---|---|---|
AllowQuit | 获取指示调用方能否退出该应用程序的值。 | |
CommonAppDataPath | 获取所有用户共享的应用程序数据的路径。 | |
CommonAppDataRegistry | 获取所有用户共享的应用程序数据的注册表项。 | |
CompanyName | 获取与该应用程序关联的公司名称。 | |
CurrentCulture | 获取或设置当前线程的区域性信息。 | |
CurrentInputLanguage | 获取或设置当前线程的当前输入语言。 | |
ExecutablePath | 获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。 | |
LocalUserAppDataPath | 获取本地、非漫游用户的应用程序数据的路径。 | |
MessageLoop | 获取指示该线程上是否存在消息循环的值。 | |
OpenForms | 获取为应用程序所有的已打开窗体的集合。 | |
ProductName | 获取与该应用程序关联的产品名称。 | |
ProductVersion | 获取与该应用程序关联的产品版本。 | |
RenderWithVisualStyles | 获取指定当前应用程序是否使用可视样式绘制控件的值。 | |
SafeTopLevelCaptionFormat | 获取或设置当顶级窗口标题与版权警告标志一起显示时,要应用于顶级窗口标题的格式字符串。 | |
StartupPath | 获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。 | |
UserAppDataPath | 获取用户的应用程序数据的路径。 | |
UserAppDataRegistry | 获取用户的应用程序数据的注册表项。 | |
UseWaitCursor | 获取或设置是否对应用程序的所有打开窗体使用等待光标。 | |
VisualStyleState | 获取指定可视样式如何应用于应用程序窗口的值。 |
名称 | 说明 | |
---|---|---|
ApplicationExit | 在应用程序即将关闭时发生。 | |
EnterThreadModal | 当应用程序即将进入模式状态时发生。 | |
Idle | 当应用程序完成处理并即将进入空闲状态时发生。 | |
LeaveThreadModal | 当应用程序即将退出模式状态时发生。 | |
ThreadException | 在发生未捕获线程异常时发生。 | |
ThreadExit | 在某线程即将关闭时发生。 当应用程序的主线程即将关闭时,首先引发该事件,随后是 ApplicationExit 事件。 |
The
T:System.Windows.Forms.Application class has methods to start and stop
applications and threads, and to process Windows messages, as follows:
Run starts an application message loop on the current thread and, optionally, makes a form visible.
Exit or ExitThread stops a message loop.
DoEvents processes messages while your program is in a loop.
AddMessageFilter adds a message filter to the application message pump to monitor Windows messages.
IMessageFilter lets you stop an event from being raised or perform special operations before invoking an event handler.
This
class has P:System.Windows.Forms.Application.CurrentCulture and
P:System.Windows.Forms.Application.CurrentInputLanguage properties to
get or set culture information for the current thread.
You cannot create an instance of this class.
示例
The
following code example lists numbers in a list box on a form. Each time
you click button1, the application adds another number to the list.
The
Main method calls M:System.Windows.Forms.Application.Run to start the
application, which creates the form, listBox1 and button1. When the user
clicks button1, the button1_Click method displays a
T:System.Windows.Forms.MessageBox. If the user clicks No on the
T:System.Windows.Forms.MessageBox, the button1_Click method adds a
number to the list. If the user clicks Yes, the application calls
M:System.Windows.Forms.Application.Exit to process all remaining
messages in the queue and then to quit.
The call to M:System.Windows.Forms.Application.Exit will fail in partial trust.
public class Form1 : Form { [STAThread] public static void Main() { // Start the application. Application.Run(new Form1()); } private Button button1; private ListBox listBox1; public Form1() { button1 = new Button(); button1.Left = 200; button1.Text = "Exit"; button1.Click += new EventHandler(button1_Click); listBox1 = new ListBox(); this.Controls.Add(button1); this.Controls.Add(listBox1); } private void button1_Click(object sender, System.EventArgs e) { int count = 1; // Check to see whether the user wants to exit the application. // If not, add a number to the list box. while (MessageBox.Show("Exit application?", "", MessageBoxButtons.YesNo)==DialogResult.No) { listBox1.Items.Add(count); count += 1; } // The user wants to exit the application. // Close everything down. Application.Exit(); } }
版本信息
.NET Framework
自 1.1 起可用
线程安全
此类型的所有公共静态(Visual Basic 中的
已共享
在 Visual Basic 中)成员都是线程安全的。不保证所有实例成员都是线程安全的。
另请参阅
System.Windows.Forms 命名空间
备注:转自 https://msdn.microsoft.com/zh-cn/library/system.windows.forms.application(v=vs.110).aspx
相关文章推荐
- C#学习常方法(11000)---Application类 中EnableVisualStyle方法
- C#.net学习常用命令(zz)
- [传智播客学习日记]C#中的常用XML函数总结(读XML)
- C# 常用接口学习 ICollection<T>
- C#学习常用命名空间【1000】---System.Reflection
- C#学习常用的命名空间---System.Runtime.InteropServices
- c#.net常用函数和方法集 (转帖:用于自己学习)
- C#学习常用命名空间【1000】---System.Reflection 之MethodInfo(方法信息类)
- C#学习笔记 常用的集合
- C# 常用接口学习 ICollection<T>
- C#学习常用命名空间【1000】---System.Reflection 之MemberInfo(成员信息类)
- C#基础与常用数据结构学习笔记
- Unity3d C# 脚本学习小结【常用方法】
- Unity3d C# 脚本学习小结(二) 【常用方法】
- C#入门教程(二)–C#常用快捷键、变量、类型转换-打造C#学习教程
- [传智播客学习日记]C#中的常用XML函数总结(写XML)
- C# 学习笔记二(图形绘制基础2 常用画图对象)
- C#中的一些常用的方法或语法(仅供自己学习用)
- c#学习 11/22 里式转换与常用类的使用
- C#学习常用命名空间【1000】---System.Reflection 之MethodBase(方法库类)