您的位置:首页 > 移动开发

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
语法:

public class Application : DispatcherObject, IQueryAmbient

构造函数
名称说明

Application()初始化 Application 类的新实例。

属性
名称说明



Current获取 Application 当前对象 AppDomain

Dispatcher获取 DispatcherDispatcherObject 与相关联。(继承自 DispatcherObject。)

MainWindow获取或设置该应用程序的主窗口。

Properties获取应用程序作用域属性的集合。



ResourceAssembly获取或设置 Assembly 提供包 统一资源标识符 (URI) 中的资源 WPF 应用程序。

Resources获取或设置应用程序范围的资源,如样式和画笔的集合。

ShutdownMode获取或设置导致的情况, Shutdown 来调用方法。

StartupUri获取或设置 UI 一个应用程序启动时自动显示。

Windows获取应用程序中实例化的窗口。

方法
名称说明

CheckAccess()确定调用线程是否有权访问此 DispatcherObject。(继承自 DispatcherObject。)

Equals(Object)确定指定的对象是否等于当前对象。(继承自 Object。)

Finalize()在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。)

FindResource(Object)搜索 用户界面 (UI) 资源,如 StyleBrush, 、 与指定的键,将引发异常,如果找不到所请求的资源 (请参阅 XAML 资源)。



GetContentStream(Uri)返回位于指定的内容数据文件的资源流 Uri (请参阅 WPF 应用程序资源、 内容和数据文件)。



GetCookie(Uri)检索由指定的位置的 cookie Uri

GetHashCode()作为默认哈希函数。(继承自 Object。)



GetRemoteStream(Uri)返回位于指定的源站点的数据文件的资源流 Uri (请参阅 WPF 应用程序资源、 内容和数据文件)。



GetResourceStream(Uri)返回位于指定的资源数据文件的资源流 Uri (请参阅 WPF 应用程序资源、 内容和数据文件)。

GetType()获取当前实例的 Type。(继承自 Object。)



LoadComponent(Object,Uri)加载位于指定 统一资源标识符 (URI) 的 XAML 文件,并将其转换为由 XAML 文件的根元素指定的对象的实例。



LoadComponent(Uri)加载 XAML 位于指定的文件 统一资源标识符 (URI), ,并将其转换到的根元素指定的对象实例 XAML 文件。

MemberwiseClone()创建当前 Object 的浅表副本。(继承自 Object。)

OnActivated(EventArgs)引发 Activated 事件。

OnDeactivated(EventArgs)引发 Deactivated 事件。

OnExit(ExitEventArgs)引发 Exit 事件。

OnFragmentNavigation(FragmentNavigationEventArgs)引发 FragmentNavigation 事件。

OnLoadCompleted(NavigationEventArgs)引发 LoadCompleted 事件。

OnNavigated(NavigationEventArgs)引发 Navigated 事件。

OnNavigating(NavigatingCancelEventArgs)引发 Navigating 事件。

OnNavigationFailed(NavigationFailedEventArgs)引发 NavigationFailed 事件。

OnNavigationProgress(NavigationProgressEventArgs)引发 NavigationProgress 事件。

OnNavigationStopped(NavigationEventArgs)引发 NavigationStopped 事件。

OnSessionEnding(SessionEndingCancelEventArgs)引发 SessionEnding 事件。

OnStartup(StartupEventArgs)引发 Startup 事件。

Run()启动 Windows Presentation Foundation (WPF) 应用程序。

Run(Window)启动 Windows Presentation Foundation (WPF) 应用程序,并打开在指定的时段。



SetCookie(Uri,String)创建指定的位置的 cookie Uri

Shutdown()关闭应用程序。

Shutdown(Int32)关闭的应用程序将指定的退出代码返回给操作系统。

ToString()返回表示当前对象的字符串。(继承自 Object。)

TryFindResource(Object)搜索指定的资源。

VerifyAccess()强制执行调用线程可以访问此 DispatcherObject。(继承自 DispatcherObject。)

事件
名称说明

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 中) 这种类型的成员是线程安全。 此外, FindResourceTryFindResource 方法和 PropertiesResources 属性都是线程安全。

备注:转载自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获取指定可视样式如何应用于应用程序窗口的值。

方法
名称说明



AddMessageFilter(IMessageFilter)添加消息筛选器以便在向目标传送 Windows 消息时监视这些消息。



DoEvents()处理当前在消息队列中的所有 Windows 消息。



EnableVisualStyles()启用应用程序的可视样式。

Equals(Object)确定指定的对象是否等于当前对象。(继承自 Object。)



Exit()通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。



Exit(CancelEventArgs)通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。



ExitThread()退出当前线程上的消息循环,并关闭该线程上的所有窗口。



FilterMessage(Message)对窗口消息运行任何筛选器,并返回修改后的消息的副本。

GetHashCode()作为默认哈希函数。(继承自 Object。)

GetType()获取当前实例的 Type。(继承自 Object。)



OleRequired()初始化当前线程上的 OLE。



OnThreadException(Exception)引发 ThreadException 事件。



RaiseIdle(EventArgs)在宿主方案中引发 Idle 事件。



RegisterMessageLoop(Application.MessageLoopCallback)注册一个回调以检查消息循环是否正在宿主环境中运行。



RemoveMessageFilter(IMessageFilter)从应用程序的消息泵移除一个消息筛选器。



Restart()关闭应用程序并立即启动一个新实例。



Run()在没有窗体的情况下,在当前线程上开始运行标准应用程序消息循环。



Run(ApplicationContext)在特定的 ApplicationContext 中,在当前线程上开始运行标准应用程序消息循环。



Run(Form)在当前线程上开始运行标准应用程序消息循环,并使指定窗体可见。



SetCompatibleTextRenderingDefault(Boolean)将某些控件上定义的 UseCompatibleTextRendering 属性设置为应用程序范围内的默认值。



SetSuspendState(PowerState,Boolean,Boolean)挂起系统或使系统休眠,或者请求系统挂起或休眠。



SetUnhandledExceptionMode(UnhandledExceptionMode)指示应用程序如何响应未经处理的异常。



SetUnhandledExceptionMode(UnhandledExceptionMode,Boolean)指示应用程序如何响应未经处理的异常,同时可选择应用特定于线程的行为。

ToString()返回表示当前对象的字符串。(继承自 Object。)



UnregisterMessageLoop()注销使用 RegisterMessageLoop 发出的消息循环回调。

事件
名称说明



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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Application类