Раздел 1. Начала разработки Windows Application решений в Visual Studio NET
Для создания Windows Application решения C# (приложения, проекта), после запуска Visual Studio.NET, нажимаем на кнопку в New Project (левая на панели инструментов), или нажимаем комбинацию клавиш Ctrl + Shift + N, или заходим в меню File и далее выбираем New и затем Project. На экране появляется диалоговая панель New Project (Рис.1.).
Рис.1. Диалоговая панель New Project
Project Types: Visual C#;
Templates: Windows Application;
Name: пишем то имя, с которым будет сформирован .exe файл;
Location: директория в которой будет помещен проект (для удобства желательно создать директорию поближе к корню диска, например C:\SamplesC#);
Можно поставить галочку «Create Directory for Solytion» или задать директорию для данного решения в выбранной папке(Browse. ).
В редакторе кода появилась заготовка окна на вкладке Form1.cs[Designe] (Рис. 2.1.), а в папке C:\SamplesC# папка WindowsApplication1 c файлом WindowsApplication.sln (файл проекта решения) и подпапка WindowsApplication со своими подпапками Bin, Obj, Properties, которые пока содержат пустые поддиректории и, в которые, будут помещаться файлы, необходимые для сборки и отладки программы и .exe файл, о чем речь пойдет ниже. Файлы проекта Form1.cs, Form1.Designer.cs, Program.cs и WindowsApplication.csproj располагаются в подпапке WindowsApplication1.
В окне «Solutation Explorer» (Меню Viev | Solutation Explorer) выполним правый клик мышкой на файле проекта — «Form1.cs» — и выберем пункт меню «Viev Code» (или нажимаем F7), вызываем файл кода проекта (Рис. 2.2.):
В отличии от VisualStudio 2003 в данном файле только определения класса формы (Form1) с единственной пока функцией конструктора. Однако это не означает, что функция main исчезла вообще — ее разработчики просто перенесли в другой файл — Program.cs (Рис. 2.3.).
Код, как и в консольном приложении, описанном в любом учебнике по языкам семейства C, содержит статическую функцию Main(). В ней, собственно, и осуществляется инициализация приложения (также как и Borland C++ и многих других языках вызовом Application.Run() — запуском цикла обработки сообщений). При этом создается экземпляр класса Form1, конструктор которого вызывает функцию InitializeComponent(), выполняющую необходимые начальные установки.
И еще одно отличие от VisualStudio 2003 — вынос функций создания контролов, которые будут использоваться в форме приложения и самой формы в файл Form1.Designer.cs.
Возвращаемся к дизайнеру формы (вкладка Form1.cs[Design]), вызовем свойства формы (Properties) в контекстном меню формы (Рис.2.5.), кликнув правой кнопкой мышки на бланке формы (или меню View\Properties Window Ctrl+W, P) и в окне Properties из множества свойств установим:
Свойство Text — Hllo World C#;
BackColor — выберем (клик мышкой на поле и нажать стрелочку вниз) понравившийся нам цвет формы из трех возможных наборов;
Вновь посмотрим код в окне Form1.Designe.cs — изменилась функция InitializeComponent() — в ней появились внесенные изменения:
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb (((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); this.ClientSize = new System.Drawing.Size(298, 172); this.Name = "Form1"; this.Text = "Hello World C#"; this.ResumeLayout(false);
Однако, не все свойства удается поменять так легко, например имя формы (Form1).просто так поменять (как это было, например, в Delphi и Borland C++ Builder) нельзя — необходимо внести сразу два изменения, а именно, изменить имя формы (свойство Name ) в окне Properties и имя файла Form1.cs в Solutation Explorer. Причина — проект привязан к платформе OS, а файл .cs нет и существуют раздельно.
Далее, изменим свойство Icon (в поле выбора нажимаем кнопочку с тремя точками и из файлов загрузим какую либо картинку) и вновь посмотрим изменения в коде в файле Form1.Designe.cs:
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
Видно, что здесь появился вызов System.Drawing.Iсon, в качестве параметра которого выступает объект, помещенный в файл ресурсов — Form1.resx. Откроем его (с помощью контекстного меню узла Solutation Explorer — View Code) и убедимся, что такой ресурс есть (это XML файл).
AAABAAEAEBAQAAA . и далее двоичный код картинки .
В контекстном меню закладки Form.resx выберем пункт View Designer. В окне Open Width можем выбрать подходящий редактор (для данного случая Resource Editor) и отредактировать ресурс (в данном случае иконку) — Рис. 3.1.
И последний штрих — для того, чтобы сделать визитную карточку C#, вмеcто цвета в BackGround, в свойство формы BackgroundImage добавим картиночку, как показано на рисунке 3.2., и, не забудем поставить для свойство BackgroundImageLayout значение Stretch.
Теперь нажимаем F5 (меню Debug/Start Debuging) и видим созданное приложение (Рис.4.):
Рис.4. Приложение Hello World C#
Параграф 2. >Добавляем кнопочку
В меню View | Toolbox находим контрол Button и, кликнув по нему мышкой, перемещаем указатель на форму (если ошиблись, то кликаем по нужному контролу или вне окна формы) — и далее, кликаем мышкой в границах окна формы — контрол переместился на форму.
Далее, устанавливаем размеры кнопки. Размеры любого контрола, как и приложения в целом, можно и нагляднее устанавливать перетаскиванием маркеров и перетаскиванием всего контрола (при выделенном кликом мышки контроле и нажатой левой клавиши мышки).
Следующий этап — установка свойств кнопки, которые устанавливаются аналогично установки свойств для самой формы (View | Proporties Window или контекстное меню контрола, пункт Properties):
Text — имя кнопки;
BackColor — по вкусу;
Другие свойства пока трогать не будем. Но, чтобы при нажатии кнопочки что то происходило, создадим обработчик события ее нажатия. Переходим на вкладку Events окна Properties и делаем двойной щелчок левой клавишей мышки в поле против события Click (для события нажатия это равнозначно двойному клику мышки по самой кнопке). После чего, в файле Form1.cs решения появится код обработчика:
private void button1_Click(object sender, EventArgs e)
Вписываем в него следующий код для вывода диалогового окна:
private void button1_Click(object sender, EventArgs e)
Прежде чем нажать F5 посмотрим как изменился код решения в файле Form1.Designe.cs. Первое и главное — появилась строка объявления для кнопки:
this.button1 = new System.Windows.Forms.Button();
Добавилось и изменения свойств кнопки и задание обработчика события ее нажатия:
// button1 this.button1.Location = new System.Drawing.Point(199, 1); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(98, 23); this.button1.TabIndex = 0; this.button1.Text = "Hello"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click);
Отметим, что кнопка буквально создана динамически в функции InitializeComponent(), что говорит о том, что контролы в C# можно создавать и динамически (достаточно повторить в любом месте файла Form1.cs данный код).
Нажимаем F5 и видим результат (Рис.5.).
Рис.5. Приложение с кнопкой и окном диалога
Вывод сообщения можно выполнить с заголовком
MessageBox.Show(this,"Hello World C#","Кнопка нажата");
Параграф 3. Добавляем поле ввода и вывода
Уберем BackgrountImage (будем считать, что этот великолепный шарпей свою рекламную функцию выполнил). Также как кнопку, добавляем на форму еще два контрола из ToolBox — TextBox и Label и поставим простую задачу — ввести текст в контрол TextBox и вывести его в элементе Label.
Вначале изменим некоторые свойства например шрифты и цвета контрол, начальный текст надписей и т.п. Особо подберем выравнивание — свойство TextAlign и добавим в обработчик события нажатия кнопки вместо кода вывода сообщений, следующий код:
label1.Text=textBox1.Text;
После выполнения (F5) получим результат (Рис.5.):
Рис.5. Перенос текста
Параграф 4. Добавляем выполнение математической операции
Слегка изменим названия кнопок, тексты надписей и некоторые свойства, как показано на Рис.6., и изменим код обработчика события нажатия кнопки (кстати, быстрый переход к основному обработчику события контрола — двойной клик на контроле в дизайнере формы):
int viNumber=Convert.ToInt32(textBox1.Text)*5; label1.Text=»Введенное число, умноженное на 5 files/winapp006.gif» ALT=»winapp006.gif»>
Рис.6. Выполнение математической операции
В начало
Параграф 5. Добавляем картиночку
И наконец немного украсим приложение, для чего поместим на форму контрол PictureBox и загрузим в него произвольную картиночку. Для чего воспользуемся свойством контрола Image (загрузка полностью аналогична загрузке иконки, которая была описана выше). Формат загружаемого файла может быть .bmp, .ico, emf, .wmf, .png, .jpg, .jpeg, .gif (в том числе и анимационные). Установим в окне Proporties свойства контрола Image:
-
BorderStyle — Fixed3D;
-
SizeMode — StretchImage;
После выполнения (F5) получим результат (Рис.7.):
Рис.7. Простейшее Windows Application решение
Файл можно грузить и программно: private void button1_Click_1(object sender, EventArgs e)
Молчанов Владислав 15.06.2004г.
Адаптировано к VS 2005 29.10.2006г.
Еcли Вы пришли с поискового сервера — посетите мою главную страничку
На главной странице Ва узнаете, как я могу помочь Вам в написании офисной программы любой сложности в соответствии с Вашими запросами . И найдете ряд програм или ссылок на образцы.
Кроме того — на главной странице Вы найдете бесплатные программы : программы комплекса Veles — программы для автолюбителей, программы из раздела графика — программы для работы с фото, сделанными цифровым фотоаппаратом, программу Bricks — игрушку для детей и взрослых, программу записную книжку, программу TellMe — говорящий Русско-Английский разговорник — программу для тех, кто собирается погостить за бугром или повысить свои знания в английском, теоретический материал по программированию в среде Borland C++ Builder, C# (Windows приложения и ASP.Net Web сайты).
Как создать приложение (exe) на языке C#
Доброго времени суток! Возник вопрос- как создать .exe по средствам Microsoft Visual Studio 2010? язык C#. Долго гуглил но так ничего и не нагуглил скорее всего я неправильно формулирую запрос((( подскажите пожалуйста как сгоздать или как сформулировать запрос для поисковика!
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как создать независимое приложение и собрать все рабочие файлы в один exe
Уважаемые, кто знает — подскажите! Как создать независимое приложение и собрать все рабочие файлы в.
На каком языке создать файл *.exe для работы с Интернетом??
Хочу написать приложение *.exe которое берёт и обрабатывает данные с моего сайта и базы данных.
Не получается кодом создать графическое приложение на языке С#
Мне, для выполнения лабы по программированию, нужно с помощью кода (а не визуального.
на каком языке (технологии) создать онлайн приложение?
всем привет, хочу создать онлайн веб приложение; у меня немалый опыт в создании проектов на.
Как собрать решение visual studio c в exe
Добрый вечер, всем)
Минут 20 назад, задался вопросом, как не таскать дллки за проектом в С#.
В общем-то, решение нашлось, и довольно простое.
Это компилить проект с ипользованием ILMerge.
ILMerge — программа от Microsoft Research.
Я думаю, многие сталкивались с тем, что ситуация такая, когда:
something.exe
one.dll
two.dll
А хотелось бы не таскать .dll, и просто распространять один .exe
Для этого нужно просто скачать и установить ILMerge.
В его папке создать merge_all.bat файл
с кодом из под Кода:
@ECHO OFF
rem # set .NET version and output folder name
set net=»v4, C:\Windows\Microsoft.NET\Framework\v4.0.30319″
set output=Output
rem # process arguments
set ILMergeSolution=%1ILMerge\ILMerge.exe
rem # determine programm files of x86 for 32 and 64 Platform
IF EXIST «%PROGRAMFILES(x86)%» set prorgammFiles=%PROGRAMFILES(x86)%
IF NOT EXIST «%PROGRAMFILES(x86)%» set prorgammFiles=%PROGRAMFILES%
rem # if ILMerge.exe not in the $(SolutionDir)ILMerge\
rem # then try to use installed in prorgammFiles
IF EXIST %ILMergeSolution% set ILMerge=»%ILMergeSolution%»
IF NOT EXIST %ILMergeSolution% set ILMerge=%prorgammFiles%\Microsoft\ILMerge\ILMerge. exe
set target_path=%2
set target_file=%~nx2
set target_dir=%~dp2
set ConfigurationName=%3
rem # set output path and result file path
set outdir=%target_dir%%output%
set result=%outdir%\%target_file%
rem # print info
@echo Start %ConfigurationName% Merging %target_file%.
@echo Target: %target_path%
@echo target_dir: %target_dir%
@echo Config: %ConfigurationName%
rem # recreate outdir
IF EXIST «%outdir%» rmdir /S /Q «%outdir%»
md «%outdir%»
rem # run merge cmd
@echo Merging: ‘»%ILMerge%» /wildcards /targetplatform:%net% /out:»%result%» %target_path% «%target_dir%*.dll»‘
«%ILMerge%» /wildcards /targetplatform:%net% /out:»%result%» %target_path% «%target_dir%*.dll»
rem # if succeded
IF %ErrorLevel% EQU 0 (
rem # clear real output folder and put there result assembly
IF %ConfigurationName%==Release (
del %target_dir%*.*
del %target_dir%*.dll
del %target_dir%*.pdb
del %target_dir%*.xml
del %target_dir%*.*
copy %result% %target_dir%
rmdir /S /Q %outdir%
set result=%target_path%
@echo Result: %target_file% «-> %target_path%»
) ELSE (
@echo Result: %target_file% «-> %result%» )
set status=succeded
set errlvl=0
) ELSE (
set status=failed
set errlvl=1
)
@echo Merge %status%
Данную папку ILMerge с содержанием ILMerge.exe и merge_all.bat положить в папку с решением(проектом).
Запустить решение >>Свойства проекта >> События построения>>Коммандная строка события после построения
Либо для англоязычных версий Project->Properties->Build Events->Post-build event
Туда добавить строчку
«$(SolutionDir)\ILMerge\merge_all.bat» «$(SolutionDir)» «$(TargetPath)» $(ConfigurationName)
После скопилить. В папке Release появится папка Output в ней будет один .exe без длл, он спокойно запускается и полностью работоспособен.
Ссылка на ILMerge ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
Ссылка на код merge_all.bat ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
Ссылка на источник, что послужило мотиваций для написания небольшого гайда ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
Немного пруфов
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
а было
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Надеюсь, что кому-то данная статья помогла.
Как сохранить код в Visual Studio в исполняемый файл (exe). Код создан в «Консольном приложении», также на языке C#.
Жмешь «Сборка» >> Собрать решение >> Диск С >> Пользователи >> твоя папка >> мои документы >> visual studio .>> Projects >> имя твоего проекта ( если не задал, значит console application) >> bin >> в этих папках ищи exe*
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
