2010-11-22 2 views
1

Я начал изучать vb.net, исходя из фона C#.VB.net Основной метод не выполняется

Я пытался перепрограммировать простую программу winforms C#, которая у меня была, которая приняла параметры командной строки, чтобы определить, что она сделала. В 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».

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 должен быть в графическом интерфейсе.

Попробуйте Msgbox («Сообщение»).

Надеюсь, что это поможет.

+0

Я начал класть точки останова в основной юг, если бы это было что-то подобное, но это не ударило их. В любом случае мне не нужна форма для показа окна сообщения. –

1

Если вы заинтересованы только в аргументы командной строки, то другой вариант, кроме перехвата метод Main является использование Environment.GetCommandLineArgs.

+0

Я не думал об этом, но мне они нужны при запуске программы. И когда я копирую программу на C#, я хочу сохранить ее как можно более похожей и использовать «Main». –

0

Чтобы помочь вам в переходе с C# на VB.NET, этот сайт developer fusion преобразует код C# в VB.NET. Надеемся, вы сможете увидеть, как эти два языка коррелируют.

+0

Спасибо за ссылку, я посмотрю на этот сайт. –

Смежные вопросы