2010-11-22 10 views
1

私はC#のバックグラウンドから来たvb.netの学習に取り掛かりました。VB.netメインメソッドが実行されない

シンプルなC#のwinformsプログラムを再プログラムしようとしていましたが、これはコマンドラインパラメータを使って何が行われたのかを判断しました。 C#では、常にこれらの引数を受け入れる主な方法があります。

私が読んだことから、vb.netは自分で作成しない限り、開始フォームを指定すると、メインメソッドを実装します。これは問題ありませんが、私が実装したものは無視されているようですが、コードが見た目になっているかどうかを確認するためにブレークポイントを入れましたが、何も表示されません。メインサブはそうのようなスタートアップフォームのクラス宣言である:明らかに

Public Class FrontScreen 
    <STAThread()> _ 
    Shared Sub Main() 
     Dim mainWindow As FrontScreen = New FrontScreen() 
     MessageBox.Show("Hello! I'm exectuing!") 
     Application.Run(mainWindow) 
    End Sub 
End Class 

私は後でメイン方法でより多くのコードを置くつもりだけど、今、私はちょうどメッセージボックスを取得したいのですが私のメインサブが実際に実行されていることを示すために来てください。私はおそらく間違ったことを本当に明らかにしているでしょうが、私が見た例から何が分からないのでしょうか。何か案は?

ありがとう、アンディ。

答えて

7

ルック:

  1. は、「アプリケーションフレームワークを有効にする」からチェックボックスを外します。
  2. [スタートアップオブジェクト]ドロップダウンボックスで、[サブメイン]を選択します。

Sub Main properties

+0

はい、うまくいきました!私は今メッセージボックスを持っていて、それは単純なものだと分かっていました。私は新しい言語を学ぶ舞台に立っています。私は思うアプリケーションフレームワークについて読んでおく必要があります。ありがとう! –

+1

@Andrew:ここでは、Application Frameworkが実際に何をしているのかを知りたい場合は、それについて素敵な記事です:http://visualstudiomagazine.com/articles/2007/10/01/enable-the-application-framework-in-vb .aspx。アプリケーションをC#のバージョンに近づけたい場合は、おそらくそれを使用したくないでしょう。純粋なVBアプリケーションの場合、いくつかの素晴らしい機能があります。 – Heinzi

+0

今日は「スタートアップオブジェクト」さえないということは夢中になります。今はスタートアップフォームです。 – sinni800

0

私はプログラムが起動しないという問題ではないと思います。それは、messagebox.showがGUI上にある必要があります。

代わりにMsgbox( "メッセージ")を試してください。

希望に役立ちます。あなたのプロジェクトのプロパティに

+0

私はメインサブにブレークポイントを入れ始めました。そのような場合には、ブレークポイントを打つようになりました。とにかく私は考えていないメッセージボックスを表示するフォームを必要はありません。 –

1

あなたは、コマンドライン引数でのみ興味があるなら、その後Main方法を傍受する以外に別のオプションは、Environment.GetCommandLineArgsを使用することです。

+0

私はそれについては考えていませんでしたが、プログラムの開始時にそれらが必要です。そして、私はC#プログラムをコピーしているので、できるだけ似たようにしておき、 'Main'を使いたいと思います。 –

0

C#からVB.NETへの移行を支援するため、このサイトdeveloper fusionはC#コードをVB.NETに変換します。うまくいけば、2つの言語がどう相関しているかを見ることができます。

+0

リンクをありがとう、私はそのサイトを見てみましょう。 –

関連する問題