2011-12-20 2 views
0

Я обычно код с PHP, я привык открывать свой редактор выбора и уходить от него, классы кодирования, методы и т. Д. Это довольно просто, поскольку GUI не беспокоится о ,Рабочий процесс с C# в Visual Studio

Прошлой ночью я провел целую ночь после нескольких учебников с C# в Visual Studio, это оказалось сложнее, чем я думал, что это будет. Как только вещь, в которой я не использую, все учебные пособия добавили объект формы, например текстовое поле или кнопку, а затем дважды щелкните его, чтобы перейти к части кода, затем введите код для этого метода. Затем вернитесь к форме и повторите торф

Это кажется очень трудным, так как вы никогда не работаете над «просто кодом», поэтому один вопрос: всегда ли это так или просто потому, что я новичок и следую учебникам?

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

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

Я должен добавить, что это было с WPF, также я чувствую, что вам нужно изучить 2 языка, C#, который имеет очень похожий синтаксис PHP, так что это не кажется слишком сложным, а для GUI это похоже на целый diff язык

+0

есть причина, по которой вы решили пойти с WPF .. против WinForms для вашего обучения ..? также у вас есть образцы кода, которые вы уже начали .. не может реально увидеть, что истинный корень проблемы в том, что вы сталкиваетесь .. – MethodMan

+0

Я не думаю, что есть проблема, jasondavis пытается выяснить почему учебники VS/.net настолько отличаются от PHP. WPF - лучший выбор, поскольку наиболее богатая клиентская разработка теперь нацелена на WPF, а не на winforms. –

+0

Когда вы говорите GUI, вы имеете в виду Xaml? – R0MANARMY

ответ

3

Вы можете загрузить интересующие вас классы. Затем перейдите на панель Solution Explorer и добавьте существующие элементы. Это будет COPY файлы для вашего проекта.

Чтобы использовать эти классы, вам необходимо объявить, что вы хотите их использовать. Итак, что вы должны сделать, это сказать что-то вроде

using FooNamespace; 

Тогда вы будете готовы использовать классы. Пространство имен объявляется непосредственно перед любым классом. Вы можете изменить его.

Теперь о формах. Каждая форма представляет собой Class и состоит из трех файлов

  • ClassForm.cs
  • ClassForm.designer.cs
  • ClassForm.resx

Вам нужно всего лишь первый. Щелкните правой кнопкой мыши и просмотрите код. Вы можете пойти туда и использовать его.

1

Много вопросов, много ответов

  1. Сложность и второгодников

Вы можете добавить объекты формы с помощью конструктора или вы можете нажать кнопку выбора источника (CTRL-PgDn). Оттуда вы можете редактировать элементы в asp и html точно так же, как и любой PHP-ID. Я делаю большую часть работы в источнике. Я настоящий программист, поэтому я никогда не могу сделать перетаскивание. С помощью интеллекта и времени вы изучаете свойства и что делать. , чтобы создавать сложные страницы, вам просто нужно знать, что вы делаете. То, что я начал с VS, у меня были такие же чувства, как и вы, но я попал в поток. Что касается кода позади, вы просто подключаете методы до элементов asp, которые вызываются встроенным кодом. Вы можете добавить свои собственные классы, функции, все в коде позади или в отдельных файлах, так же как C++, php, что угодно.

Надеюсь, что это поможет, VS действительно мощный и работает гладко, когда вы узнаете, где вещи, используя его уже много лет, и я все еще участвую. Итог, никогда не используйте перетаскивание и просто играйте с ним.

1

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

это не нужно, это просто подход для большинства людей, использующих визуальную студию. что это проект WPF, все может быть сделано из кода или разметки xaml. вам не нужен редактор WYSIWYG.

Что касается добавления/ссылки на классы, сначала вам необходимо ссылаться на сборку, в которой находится класс. Основные типы .net (часть BCL, библиотека базового класса) автоматически включаются в качестве ссылок. то вы добавляете оператор using в соответствующее пространство имен. то вы можете создать экземпляр объекта.

+0

спасибо за ответ, 'добавьте инструкцию using в соответствующее пространство имен', поэтому, если это приложение из 1 формы, скорее всего, это пространство имен этой формы, которое я добавляю/импортировать другие классы? Я также видел возможность создания DLL-файла, для чего они обычно используются (я думал, что они должны хранить ресурсы, такие как изображения), но я вижу, что это можно сделать с помощью перетаскивания – JasonDavis

+0

DLL (динамическая связанная библиотека) скомпилированный код. .net - это скомпилированный язык. точно так же, как java. тогда как php - это язык сценариев, такой как ruby ​​или javascript. поэтому сами файлы классов ничего не значат. их необходимо скомпилировать в исполняемый файл/сборку/файл dll. пространство имен - это то, как организованы классы. как заголовочные файлы, это c/C++ или включает в PHP. –

1

Есть способы иметь интерактивное окно C#; см. this question. Кроме того, вам не нужно использовать форму, но вы также можете создать приложение командной строки.

Что касается второго вопроса, вы можете добавить новый класс в свой проект, а затем использовать его в своей форме. На самом деле нет дополнительного шага, за исключением того, что если пространства имен разные, то проще импортировать это пространство имен (через using).

1

Отчасти, да, потому что вы новичок и используете учебники.

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

Если вы просто хотите играть с C# и не относитесь к формам и дисплею, посмотрите информацию о консольном приложении. Вместо того, чтобы беспокоиться о кнопках и текстовых полей, ваш худший кошмар будет Console.WriteLine();

Вот некоторые консольные C# учебники:

  1. C# Station tutorial
  2. C# Yellow Book - это PDF. Хорошо.
0

Да, это именно то, что вы следите за видеоуроками, которые почти всегда предназначены для начинающих ... Большинство из нас, живущих в VS, разрабатывают решения WPF, даже не используют визуальный редактор, а вместо этого работать непосредственно с XAML для создания нашего пользовательского интерфейса и иметь очень мало или вообще не код в коде за файлами после шаблона MVVM.

Чтобы ответить на ваш второй вопрос, большинство ваших классов, которые «делают вещи», которые напрямую не переплетаются с пользовательским интерфейсом, должны быть в отдельной библиотеке классов (DLL-файл) и не должны даже ссылаться непосредственно на ваш основной проект пользовательского интерфейса (чтобы облегчить ослабление связи), но вместо этого обратились к нему с использованием какой-либо формы инъекции зависимостей, обычно используя интерфейсы.

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

Теперь можно просто дважды щелкнуть по кнопке и написать весь свой код в этом методе, созданном для вас в коде за файлом, как в Winforms, но так же, как в мире Winforms, который приводит к коду, который трудно поддерживать, что тесно связано с вашим пользовательским интерфейсом и очень сложно проверить, поэтому старайтесь противостоять этому мгновенному удовлетворению и потратьте некоторое время на изучение шаблонов MVVM, шаблонов проектирования DI и OO, которые облегчают повторное использование кода, развязку и тестируемость ... Надеюсь, это поможет ...

0

Это действительно зависит от того, что вы пытаетесь узнать. Я не думаю, что начну с WPF, если бы использовал C#. Я бы начал с консольного приложения, чтобы убрать основы языка, а затем перейти к простому приложению WinForms и, наконец, к WPF, где вы начали.

Но да, ваши вопросы о том, как работает редактор, верны. Так работает эта платформа.

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