Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Указания по использованию .NETСодержание книги
Поиск на нашем сайте
В любом языке программирования существуют традиционные стили программирования. Эти стили являются не частью самого языка, а соглашениями, скажем, по именованию переменных или использованию определенных классов, методов или функций. Если большинство разработчиков будут следовать одинаковым соглашениям, то им будет проще понять код друг друга, что, в свою очередь, облегчает поддержку программы. Так, общим соглашением в Visual Basic 6 было то, что строковые переменные должны иметь имена, начинающиеся с s или str, например String sResult или String strMessage. Однако соглашения зависят от языка и среды разработки. Программисты на C++ для платформы Windows традиционно используют префикс psz или lpsz для обозначения строк: char *pszResult; char *lpszMessage;. Но на Unix-машинах такие префиксы не применяются: char *Result; char *Message;. В соответствии с соглашениями в С# имена переменных не должны иметь префиксов: string Result; string Message;. Соглашение, согласно которому имена переменных содержат префикс, указывающий тип данных, известно как "венгерский" стиль именования объектов. При чтении такого кода разработчики могут сразу же сказать по имени переменной, какой тип данных она представляет. В то время как для многих языков соглашения по именованию вырабатывались одновременно с развитием языка, для С# и платформы.NET Microsoft написала подробные рекомендации по использованию, которые приведены в документации MSDN для.NET/C#. Следовательно, с самого начала программы.NET будут иметь более высокий уровень совместимости по части понимания кода другими разработчиками. Эти рекомендации были разработаны с учетом опыта, полученного на протяжении более двадцати лет объектно-ориентированного программирования, и в результате являются тщательно продуманными и хорошо восприняты сообществом разработчиков. Однако необходимо отметить, что рекомендации не то же самое, что спецификации языка. Рекомендаций следует придерживаться по мере возможности. Если имеется веская причина для их несоблюдения, это не будет проблемой. Отклонение от рекомендаций должно быть вызвано реальными причинами, а не простым нежеланием. Одним из важных моментов является выбор имен для элементов программы: переменных, методов, классов, перечислений и пространств имен. Очевидно, что названия обязаны отражать назначение элемента и не должны конфликтовать с другими именами. Общая философия платформы.NET состоит в том, что имя переменной должно отражать назначение экземпляра переменной, а не тип данных. Например, Height - хорошее название, a IntegerValue - нет. Однако этот принцип является труднодостижимым идеалом. В частности, при работе с элементами управления в большинстве случаев вам будет удобнее использовать имена переменных, подобные ConfirmationDialog и ChooseEmployeeListBox. Конкретные рекомендации по именованию включают в себя следующие разделы. Практически во всех случаях для имен следует использовать стиль Pascal, при котором первая буква каждого слова в названии является прописной Например: EmployeeSalary, ConfirmationDialog, PlainTextEncoding. Соединение слов с помощью знака подчеркивания не приветствуется, поэтому не придумывайте такие имена, как employee_salary. В других языках часто используют все прописные буквы в названиях констант. Это не рекомендуется в С#, поскольку такие имена трудно читать, лучше применять паскалевский стиль: const int MaximumLength;Еще одна рекомендуемая схема - именование в стиле camel. Именование camel аналогично паскалевскому стилю, за исключением того, что первая буква первого слова не является прописной: employeeSalary, confirmationDialog, plainTextEncoding. Существуют две ситуации, в которых лучше применять такое именование. Имена всех параметров, передаваемых в методы, должны записываться в стиле camel: public void RecordSale (string salesmanName,int guanuity);Также можно использовать camel-соглашение для того, чтобы отличить два элемента, которые в противном случае имели бы одинаковые имена. Наиболее общий случай, когда свойство является оболочкой для поля. private string employeeName; public string EmployeeName{ get { return employeeName; }}Приведенный код является совершенно корректным с точки зрения рекомендаций. Отметим, однако, что в этом случае следует применять соглашение camel для закрытых членов и соглашение Pascal для открытых или защищенных членов, чтобы другие классы, использующие ваш код, видели только имена в стиле Pascal (за исключением имен параметров). В большинстве случаев следует применять соглашения Pascal. Тем не менее, соглашение camel рекомендуется для закрытых переменных, которые не видны вне класса, где две переменные имеют одинаковое назначение. Например, если есть public свойство, которое инкапсулирует private поле с тем же именем, то можно использовать соглашение camel для поля и соглашение Pascal для свойства, как в приведенном выше примере EmployeeName. Также необходимо обращать внимание на чувствительность к регистру. С# чувствителен к регистру, поэтому синтаксически в С# допустимо, чтобы имена различались только регистром. Однако нужно помнить, что ваши сборки могут быть вызваны из приложений VB.NET, a VB.NET не является чувствительным к регистру. Поэтому использовать имена, отличающиеся только регистром, можно лишь в том случае, если они никогда не будут видны вне сборки. В противном случае код, написанный в VB.NET, не сможет корректно использовать вашу сборку. Необходимо по возможности делать так, чтобы стиль всех имен совпадал. Например, если один из методов в классе называется ShowConfirmationDialog, то другому методу не следует давать имя ShowDialogWarning или WarningDialogShow. Он должен называться ShowWarningDialog. Имена пространств имен следует выбирать особенно тщательно для того, чтобы избежать использования такого же имени, которое применяется где-то еще. Необходимо помнить, что.NET различает имена объектов в разделяемых сборках только по именам пространств имен. Если использовать для двух пакетов программного обеспечения одно и то же имя пространства имен и установить оба пакета на один компьютер, возникнут проблемы. Рекомендуется создавать пространство имен верхнего уровня с именем вашей компании, а затем вкладывать пространства имен, постепенно сужая их названия до технологии, группы или отдела, где вы работаете, или до названия пакета, для которого предназначены ваши классы. Microsoft рекомендует имена пространств имен, которые начинаются с <НазваниеКомпании>.<НазваниеТехнологии>, например, WeaponsOfDestructionCorp.RayGunControllersили WeaponsOfDestructionCorp.Viruses.Имена не должны конфликтовать с ключевыми словами. Если попытаться в программе назвать элемент по имени одного из ключевых слов С#, это практически всегда вызовет синтаксическую ошибку, так как компилятор предположит, что имя соответствует оператору. Создание меню В пространстве имен System.Windows.Forms предусмотрено большое количество типов для организации ниспадающих главных меню (расположенных в верхней части формы) и контекстных меню, открывающихся по щелчку правой кнопки мыши. Элемент управления ToolStrip представляет собой контейнер, используемый для создания структур меню, панелей инструментов и строк состояний. Элемент управления MenuStrip - это контейнер для структур меню в приложении. Этот элемент управления наследуется от ToolStrip. Система меню строится добавлением объектов ToolStripMenu к menuStrip. Класс ToolStripMenuItem служит для построения структур меню. Каждый объект ToolStripMenuItem представляет отдельный пункт в системе меню. Начнем с создания стандартного ниспадающего меню, которое позволит пользователю выйти из приложения, выбрав пункт Объект > Выход. Для этого необходимо перетащить элемент управления MenuStrip (рисунок 2.1) на форму в конструкторе. Рис. 2.1. Элемент управления MenuStrip Элемент управления MenuStrip позволит вводить текст меню непосредственно в элементы меню. То, что должно получиться, представлено на рисунке 2.2. Рис. 2.2. Простое меню на форме При помощи графических средств можно настроить свойства любого элемента меню. Для пункта меню "Объект" зададим свойство Name равным objektToolStripMenuItem, для пункта меню "Выход" - exitToolStripMenuItem, а для пункта меню "Справка" - HelpToolStripMenuItem. При двойном щелчке на пункте меню "Выход" (объект exitToolStripMenuItem) Visual Studio автоматически сгенерирует оболочку для обработчика события Click и перейдет в окно кода, в котором нам будет предложено создать логику метода (в нашем случае exitToolStripMenuItem_Click): private void exitToolStripMenuItem_Click(object sender, EventArgs e) {// Здесь мы определяем реакцию на выбор пользователем // пункта меню }На вкладке Свойства (Properties) при выводе окна событий, нажать кнопку событию Click будет соответствовать метод menuItemExit_Click (рисунок 2.3). Рис. 2.3. Событие Click и обработчик события exitToolStripMenuItem_Click Для корректного завершения приложения написать код для обработчика exitToolStripMenuItem_Click. Это можно сделать с помощью метода Exit класса Application: private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); }Для тестирования созданного меню создадим обработчик для пункта меню "Объект", который будет сообщать, что выбран именно этот пункт меню. private void objektToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Пункт меню Объект"); } При создании меню графическими средствами Visual Studio автоматически внесет необходимые изменения в служебный метод InitializeComponent и добавит переменные-члены, представляющие созданные элементы меню.Задание на лабораторную работу
Протестировать работу приложения
|
||||
Последнее изменение этой страницы: 2021-04-04; просмотров: 94; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.134.196 (0.007 с.) |