Mark Windows Forms entry points with STAThread
STAThreadAttribute indicates that the COM threading model for the application is single-threaded apartment. This attribute must be present on the entry point of any application that uses Windows Forms; if it is omitted, the Windows components might not work correctly. If the attribute is not present, the application uses the multithreaded apartment model, which is not supported for Windows Forms.
Visual Basic projects that use the Application Framework do not have to mark the Main method with STAThread. The Visual Basic compiler does it automatically.
It is safe to suppress a warning from this rule if you are developing for the .NET Compact Framework, for which the STAThreadAttribute attribute is unnecessary and not supported.
The following examples demonstrate the correct usage of STAThreadAttribute.
Imports System Imports System.Windows.Forms NameSpace UsageLibrary Public Class MyForm Inherits Form Public Sub New() Me.Text = "Hello World!" End Sub 'New ' Satisfies rule: MarkWindowsFormsEntryPointsWithStaThread. <STAThread()> _ Public Shared Sub Main() Dim aform As New MyForm() Application.Run(aform) End Sub End Class End Namespace