2011-12-16 29 views
2

MSDN我VB.NET解決方案不包含主要功能

每個Visual Basic應用程序必須包含一個名爲Main過程。

我......沒在我的解決方案找到了這樣的方法......

它始於

Private Sub MyApplication_Startup(_ 
    ByVal sender As Object, _ 
    ByVal e As StartupEventArgs) _ 
     Handles Me.Startup 

problem,其實,我嘗試按照推薦說:

Clipboard.GetDataObject總是返回null? 如果您發現GetDataObject始終爲空,請嘗試在靜態void Main()之前添加[STAThread]

所以,我,如果我沒有找到Main() ...我不能按照VB.NET,建議...

+0

」Windows Forms應用程序自己運行,但是,Visual Basic編譯器會自動在這樣的應用程序中生成主程序「 –

+0

@Damien_The_Unbeliever所以,如何設置一個'[STAThreadAttribute()]'主函數? – serhio

回答

4

首先,在你的項目中添加.vb文件(說Program.vb) 。

Public Class Program 
    <STAThread()> 
    Shared Sub Main() 
     Dim frm As New Form1 
     Application.Run(frm) 
    End Sub 
End Class 

並關閉 - 從[Project + Properties + Application]啓用應用程序框架,設置啓動對象 - Program或Sub Main。 「

+0

我不能這樣做......這是一個很古老的解決方案,裏面有數十個項目,它使用像上面指定的Startup這樣的應用程序事件......它在關閉時保存My.Settings,啓用XP視覺樣式,所以恐怕我不知道如何取代所有這些。 – serhio

+0

@serhio我認爲這是設置它的唯一方法。請參閱[STAThreadAttribute類](http://msdn.microsoft.com/en-us/library/system.stathreadattribute.aspx) – LarsTech

+0

@LarsTech我試圖'?Threading.Thread.CurrentThread.GetApartmentState STA {0}' 所以,顯然目前的線程已經是STA狀態......現在我什麼都不懂...... – serhio

相關問題