Windows.Form c # без визуальной студии - PullRequest
11 голосов
/ 06 августа 2009

Я пытаюсь изучать Windows.Forms, и хотя у меня есть Visual Studio (редактирование, очевидно, моя ошибка), я чувствую, что учусь намного эффективнее, делая все в блокноте. Я искал везде учебник, который использует этот подход. Я наконец начал с http://www.geekpedia.com/tutorial33_Windows-forms-programming.html,, но после первого примера он тоже начинает работать с несколькими файлами? как-то генерируется с помощью Visual Studio. Как я могу сделать это в блокноте? Кто-нибудь может подсказать мне что-нибудь полезное?

Спасибо!

** В то время как подавляющий отклик кажется сильным против этого, и я начал убеждаться, я увидел, что SmokingRope говорил об этом так же просто, как о записи всех классов в один файл. Это то, чем я занимался до сих пор для значительных проектов, не относящихся к Windows.Form. Может быть, вы можете помочь объяснить, как эти необходимые файлы могут быть включены с помощью этого метода? *

Ответы [ 17 ]

26 голосов
/ 06 августа 2009

Серьезно ... Я восхищаюсь твоим огнем, но ты сошел с ума! Что вы можете надеяться узнать о .NET с помощью NotePad, который вы не могли бы изучить в миллион раз быстрее с Visual Studio? Это все равно что спросить: «Я хочу научиться водить машину. Я поставил колеса на диван. Что мне делать дальше?»

Я имею в виду неуважение, но подружись с Visual Studio и начинай учиться. В противном случае вы тратите свое время впустую.

9 голосов
/ 06 августа 2009

На самом деле довольно просто кодировать C # вне среды IDE. В основном все сводится к использованию компилятора csc.exe из командной строки.

Самая сложная часть этого процесса - убедиться, что переменные среды настроены правильно, и Microsoft предоставляет пакетный файл vsvars32.bat , чтобы сделать именно это.

Вот краткое руководство по использованию этого командного файла и компилятора из командной строки: http://www.zeusedit.com/forum/viewtopic.php?t=1235

И еще лучший, но немного более сложный подход - использовать утилиту MsBuild для управления зданием проекта: http://www.zeusedit.com/forum/viewtopic.php?t=2518

Наконец, вы даже можете использовать внешний C # Debugger для отладки ваших программ: http://www.zeusedit.com/forum/viewtopic.php?t=2507

4 голосов
/ 17 августа 2009

Я иду против зерна здесь ... Но я думаю, что ваша идея не такая уж плохая ... особенно для небольшого проекта.

Но использование Notepad (или, по крайней мере, использование Notepad ++) научит вас больше о MSBuild и синтаксисе компилятора VBC или CSC, чем о языковых функциях. Лучший способ выучить язык - это, как уже говорили, использовать Visual Studio. Интеллектуальный смысл - отличный способ учиться.

Но это также делает нас ленивыми, и это правда, что нам не нужно запоминать так много ... и иногда бывает полезно запомнить вещи. (то есть .... я нахожусь у клиента и удаленно вошел на серверы ... визуальная студия не установлена ​​... НО ... угу ... .NET 2 есть ... в этот момент вы будете оценил упражнение ...)

Честно говоря, сделать это для относительно небольшого проекта, я думаю, было бы хорошим упражнением в обучении. Я говорю пойти на это. Черт, я могу даже присоединиться к тебе.

Но, тем не менее, я думаю, что лучший способ сделать это - использовать оба метода бок о бок. Например ... Если вы хотите использовать несколько файлов, вы можете создать папку и поместить в нее файл vbproj (или csproj). MSBuild.exe получает файлы vbproj (и, соответственно, файлы sln) в качестве аргументов. Итак, один из самых быстрых способов узнать синтаксис файла vbproj - использовать Visual Studio для создания проекта ... и затем открыть файл vbproj в Notepad ++.

Проблема в том, что Visual Studio НАСТОЛЬКО УДИВИТЕЛЬНЫЙ, ПОТОМУ ЧТО он так много абстрагируется от разработчика. Но глупо не признать, что в этом есть обратная сторона. Эта абстракция означает, что нам не нужно иметь такое глубокое понимание. Вещи просто работают автоматически. Поэтому я говорю, копай немного глубже. Я не думаю, что вы пожалеете об этом.

4 голосов
/ 06 августа 2009

Ваш лучший подход - научиться писать код из Visual Studio. Вы получаете большую помощь в кодировании (IntelliSense, проверка синтаксиса и т. Д.), Которая поможет вам выучить язык.

Если вы действительно хотите использовать Блокнот, то вы создаете столько файлов или столько файлов, сколько хотите, а затем компилируете их в сборку с использованием компилятора командной строки, перечисляя каждый файл в качестве входных данных для компилятора.

Реальность такова, что использование блокнота и компилятора командной строки возможно, но очень громоздко и почти никогда не используется, за исключением показа простых примеров типа "Hello, world".

2 голосов
/ 06 августа 2009

Вы можете написать несколько классов в одном файле C # (несмотря на общепринятую лучшую практику размещения одного класса на файл):

using System;
namespace Test{
  class Class1{ }
  class Class2{ }
}

Вы также можете посмотреть, как работает система MSBuild из командной строки. Я полагаю, что вам все равно придется поддерживать файл проекта (синтаксис типа xml, использовать Visual Studio для создания проекта, а затем открыть его в блокноте для примера), но у меня нет опыта работы с ним лично.

Все это можно сделать из блокнота и командной строки. Однако вы, вероятно, обнаружите, что это займет немного больше времени.

1 голос
/ 06 августа 2009

Используйте sharpdevelop (Windows) или monodevelop (* nix). Оба имеют поддержку Windows.Form. Хотя они не предлагают столько, сколько VS, они, по крайней мере, помогут вам начать. Я никогда не использовал редакцию VS Express, поэтому не знаю, каковы ее ограничения.

1 голос
/ 06 августа 2009

Если вы хотите изучать c # и winforms, частью необходимого вам набора навыков является опытный в Visual Studio.

Вы можете делать что-то в Блокноте некоторое время (я написал несколько веб-сервисов в блокноте, потому что у меня не было VS), но в конечном итоге вы захотите воспользоваться инструментами, доступными в VS.

1 голос
/ 06 августа 2009

Я настоятельно рекомендую вам использовать Visual Studio (Microsoft предлагает бесплатные версии Express, которые будут соответствовать вашим потребностям). Изучать синтаксис языка замечательно, но вы должны уметь работать в среде VS, чтобы быть по-настоящему успешным в C # (и любом из языков .NET). Вам выгоднее делать все правильно и изучать все вместе, а не пытаться собрать их вместе позже. Просто мои два цента.

1 голос
/ 06 августа 2009

Просто чтобы повторить то, что уже было сказано, опять же, без неуважения, вы не собираетесь изучать .NET в блокноте. Это просто не вероятно . Вы не только не будете продуктивны, но вы также не будете изучать инструменты, используемые в отрасли, лучшие практики и другие важные факторы, касающиеся .NET. Это не просто сидеть и писать код. Ограничивая себя блокнотом, это все равно, что ограничивать себя одним приемом пищи в месяц: вам не хватает питания, необходимого для того, чтобы продолжать двигаться вперед в хорошем темпе.

Используйте инструменты и ресурсы, доступные вам. Ограничение себя таким образом - удар в заднюю часть.

1 голос
/ 06 августа 2009

Предполагая, что вы хотите избежать магически сгенерированного кода и визуальных дизайнеров, вы можете просто открыть пространство имен System.Windows.Forms и начать кодирование с помощью API. Начните с этого первого примера, а затем программно добавьте кнопки и текстовые поля и еще много чего. Вам не нужно создавать проект форм или работать с дизайнерами, вы можете просто «написать код» в VS и отключить всю магию.

Если вы ищете пример кода, вы можете рассмотреть примеры F #, например пользовательский интерфейс на

http://code.msdn.microsoft.com/fsharpsamples

для идей нескольких основных элементов управления, которые вы можете добавить в формы для выполнения базовых функций пользовательского интерфейса.

...