C # Создает интерфейс для консольной программы?

StackOverflow https://stackoverflow.com/questions/828968

  •  06-07-2019
  •  | 
  •  

Вопрос

Я написал консольную программу на c #, которая принимает в качестве входных данных до трех файлов и выполняет над ними некоторые вычисления данных.

Я бы хотел создать простой интерфейс, который позволит пользователю легко

  • импорт файлов - в основном выберите до трех файлов, которые будут перенаправлены в серверный код.

  • изменить настройки - у меня есть около 10 настроек, которые я в данный момент сохраняю в файле app.config.может быть, было бы неплохо установить простое окно настроек

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

У меня практически нет опыта работы с Windows forms или графическим интерфейсом, поэтому я действительно не знаю, с чего начать.Я скомпилировал серверный материал в * .dll и в настоящее время играю в режиме разработки sharpdevelop ... но я действительно понятия не имею, как заставить их работать вместе.

любые указания были бы с благодарностью приняты!

Это было полезно?

Решение

Если вы хотите начать работу с дизайном графического интерфейса в .NET, я рекомендую вам выбрать WPF (Windows Presentation Foundation).Это новейшая технология, выпущенная Microsoft в области пользовательского интерфейса / графики, и именно к ней сейчас все движется.(Windows Forms не устареет еще долгое время, хотя она, несомненно, но постепенно устаревает.) Однако я заметил, что вы используете SharpDevelop, у которого пока нет реальной поддержки WPF (насколько я знаю), в то время как для WinForms она, безусловно, есть.Если есть хоть какой-то шанс, что вы сможете использовать Visual Studio, я рекомендую вам начать с изучения WPF.У вас есть преимущество в том, что вас не смущает предыдущий опыт работы со стилями и методологиями WinForms, так что это был бы очень правильный путь.

Чему бы вы ни хотели научиться, Страница начала работы с WindowsClient.NET (официальный сайт MS как для WinForms, так и для WPF) был бы отличным ресурсом.Есть также несколько Статьи MSDN о начале работы с WPF.

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

Другие советы

Обычный шаблон в подобных случаях заключается в том, чтобы преобразовать основные функции приложения в библиотеку классов и вызвать ее из исполняемого файла, такого как консольное приложение, приложение winforms или приложение webforms (если это возможно).Таким образом, вы можете легко адаптировать интерфейс по мере необходимости и просто направлять ввод и вывод в библиотеку классов и из нее.

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

Вы пробовали Visual Studio Express editions?Они бесплатны и поставляются с конструктором для приложений WinForms или WPF.

В качестве первого шага вам понадобятся 3 текстовые области для имен файлов с соответствующими кнопками для вызова диалогового окна открытия файла (на самом деле он не открывает файл, а просто возвращает имя файла).

Метка для отображения статуса - обновлено из вашего рабочего кода.

Затем либо различные переключатели, флажки и т.д. Для ваших параметров конфигурации.

Да, и не забудьте кнопку "Пуск", чтобы запустить ваш процесс.

Если ваш процесс занимает некоторое время, вам следует использовать фоновый рабочий поток.Затем вы можете реализовать кнопку "Отмена", чтобы безопасно прервать процесс и привести его в порядок, если что-то пойдет не так.

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

Ваш вопрос довольно расплывчат.Если вы спрашиваете о работе с графическим интерфейсом, вам следует прочитать какую-нибудь книгу по Windows Forms.И если вы спрашиваете о том, как поместить вашу библиотеку dll в ваше новое приложение Windows forms, то вам следует просто добавить ссылку на нее в свойствах проекта winforms, а затем использовать классы из пространства имен dll.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top