DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
在打开主应用程序表单之前,开发人员可能需要在代码中执行某些操作。例如要启用DirectX硬件加速,开发人员需要在创建应用程序表单之前调用WindowsFormsSettings.ForceDirectXPaint方法。
本文将为大家演示在使用C#和Visual Basic开发项目时,可以将应用程序初始化代码放置在何处。如果您是一个Visual Basic开发人员,可以根据需求选择下面列出方法当中的一种。
C#示例
对于C#项目,在Solution Explorer中找到Program.cs文件,该文件包含void Main()过程,开发人员可以在Application.Run方法调用之前在其中添加自定义代码。
C#
- using DevExpress.XtraEditors;
- using System;
- using System.Windows.Forms;
-
- namespace WindowsFormsApplication1 {
- static class Program {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main() {
- //Add your code here
- WindowsFormsSettings.ForceDirectXPaint();
- WindowsFormsSettings.EnableFormSkins();
-
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Form1());
- }
- }
- }
Visual Basic示例 - 方法1
使用这种方法,开发人员可以创建一个Main函数并将其设置为应用程序的入口点。
1. 在Solution Explorer中右键单击您的项目,然后在上下文菜单中选择Properties。
2. 取消选中Enable application framework,然后在Application选项卡中将Startup object设置为Sub Main。
3. 切换到主窗体的代码编辑器,手动将以下Shared Sub Main过程添加到窗体类中:
VB.NET
- Public Class Form1
- Shared Sub Main()
- Application.EnableVisualStyles()
- Application.SetCompatibleTextRenderingDefault(False)
- Application.Run(New Form1) 'Specify the startup form
- End Sub
- End Class
4. 在Application.Run方法调用之前插入要执行的代码。
VB.NET
- Public Class Form1
- Shared Sub Main()
- 'Add your code here
- DevExpress.XtraEditors.WindowsFormsSettings.ForceDirectXPaint()
- DevExpress.XtraEditors.WindowsFormsSettings.EnableFormSkins()
-
- Application.EnableVisualStyles()
- Application.SetCompatibleTextRenderingDefault(False)
- Application.Run(New Form1) 'Specify the startup form
- End Sub
- End Class
Visual Basic示例 - 方法2
通过这种方法,您可以订阅应用程序的Startup事件来执行自定义操作。
1. 在Solution Explorer中右键单击您的项目,然后在上下文菜单中选择Properties。
2. 在Application选项卡中单击View Application Events按钮。

3. 订阅打开的ApplicationEvents.vb文件中的Startup事件。

4. 在生成的Startup事件处理程序中插入要执行的代码。
VB.NET
- Imports DevExpress.XtraEditors
- Imports Microsoft.VisualBasic.ApplicationServices
-
- Namespace My
- ' The following events are available for MyApplication:
- ' Startup: Raised when the application starts, before the startup form is created.
- ' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally.
- ' UnhandledException: Raised if the application encounters an unhandled exception.
- ' StartupNextInstance: Raised when launching a single-instance application and the application is already active.
- ' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
- Partial Friend Class MyApplication
- Private Sub MyApplication_Startup(sender As Object, e As StartupEventArgs) Handles Me.Startup
- 'Add your code here
- WindowsFormsSettings.ForceDirectXPaint()
- WindowsFormsSettings.EnableFormSkins()
- End Sub
- End Class
- End Namespace