Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к тесту.docx
Скачиваний:
37
Добавлен:
12.04.2015
Размер:
67.36 Кб
Скачать
  1. Массивы в c#. Стандартные функции для работы с массивами

Массив определяется именно как

int[] k;

Во-вторых, так как массив представляет из себя ссылочный объект, то для создания

массива необходима строка

k=new int [3];

Именно в ней мы и определяем размер массива. Хотя, вообще говоря, возможны

конструкции вида

int[] k = new int [3];

Элементы массива можно задавать сразу при объявлении. Вот пример:

int[] k = {-5, 4, 55};

Вот так задается двумерный массив:

int[,] k = new int [2,3];

Обратите внимение, что пара квадратных скобок только одна. Естественно, что в нашем

примере у массива 6 (=2*3) элементов (k[0,0] – первый, k[1,2] – последний).

Аналогично мы можем задавать многомерные массивы. Вот пример трехмерного массива:

int[,,] k = new int [10,10,10];

А вот так можно сразу инициализировать многомерные массивы:

int[,] k = {{2,-2},{3,-22},{0,4}};

//Объявление массива.

int [] num = {4, -5, 2, 0, 23};

//Выводим массив.

foreach (int i in num)

{

Console.WriteLine(i.ToString());

}

//Переворачиваем массив.

Console.WriteLine("Перевернутый массив");

Array.Reverse(num);

foreach (int i in num)

{

Console.WriteLine(i.ToString());

}

//Сортируем массив.

Array.Sort(num);

Console.WriteLine("Отсортированный массив");

foreach (int i in num)

{

Console.WriteLine(i.ToString());

}

//Обнуляем массив.

Array.Clear(num, 0, 5);

Console.WriteLine("Обнуленный массив");

foreach (int i in num)

{

Console.WriteLine(i.ToString());

}

}

}

}

  1. Строки в c#. Стандартные функции для работы со строками

строки являются объектами. String — это ссылочный тип.

Строка является упорядоченной коллекцией символов Юникода, используемой для представления текста. Объект String является упорядоченной коллекцией объектов System.Char, представляющей строку. Значением объекта String является содержимое упорядоченной коллекции, и это значение является неизменяемым (т. е. доступным только для чтения).

Путем присвоения строкового литерала переменной String.

stringstring1 = "This is a string created by assignment.";

Console.WriteLine(string1);

Путем вызова конструктора класса String.

char[] chars = { 'w', 'o', 'r', 'd' };

// Create a string from a character array.

string string1 = new string(chars);

Console.WriteLine(string1);

// Create a string that consists of a character repeated 20 times.

string string2 = new string('c', 20);

Console.WriteLine(string2);

Console.ReadKey();

С помощью оператора сцепления строк

string string1 = "Today is " + DateTime.Now.ToString("D") + ".";

Console.WriteLine(string1);

string string2 = "This is one sentence. " + "This is a second. ";

string2 += "This is a third sentence.";

Console.WriteLine(string2);

Chars - Получает объект Char в указанной позиции в текущем объекте String.

Length - Возвращает число знаков в текущем объекте String.

String.Chars - свойство

• Значение параметра index отсчитывается от нуля.

• Это свойство возвращает объект Char, расположенный в позиции, заданной параметром index.

string str1 = "Test";

• for (int ctr = 0; ctr <= str1.Length - 1; ctr++ ) Console.Write("{0} ", str1[ctr]);

String.Length – свойство

string str = "abcdefg";

• Console.WriteLine("1) The length of '{0}' is {1}", str, str.Length);

• Console.WriteLine("2) The length of '{0}' is {1}", "xyz", "xyz".Length);

Compare.

• Статический метод, сравнивающий две строки. Возвращает 0, есть строки равны, отрицательное

значение, если первая строка меньше второй и положительное значение, если первая строки

больше второй.

String s1="arbour", s2="ace", s3="azote";

System.Console.WriteLine(String.Compare(s1,s1));

System.Console.WriteLine(String.Compare(s1,s2));

System.Console.WriteLine(String.Compare(s1,s3));

Equals.

• Метод, возвращает true, если строки равны, false — если не равны.

String s1="qqq", s2="www";

System.Console.WriteLine(String.Equals(s1, s2).ToString());

System.Console.WriteLine(System.Console.WriteLine(String.Equals(s1, s2).ToString());

Метод Substring.

• Позволяет извлечь из строки подстроку. Пример использования:

• String s1="abcdefg", s2;

• s2=s1.Substring(3, 2);

• System.Console.WriteLine(s2);

  1. Приложения Windows Forms (лекции + лабораторные работы)

В Windows Forms термин "форма" - синоним окна верхнего уровня. Главное окно приложения - форма. Любые другие окна верхнего уровня, которые имеет приложение - также формы. Окна диалога также

считаются формами.

Пространство имен System.Windows.Forms содержит классы для создания приложений Windows, которые позволяют наиболее эффективно использовать расширенные возможности пользовательского интерфейса.

Этот раздел включает такие классы, как

• Form, который моделирует поведение окон или форм;

• Menu, который представляет меню;

• Clipboard, который дает возможность приложениям Windows Forms использовать буфер обмена.

• Он также содержит многочисленные классы, предоставляющие средства управления, например: Button, TextBox, ListView, MonthCalendar и т.д.

• Эти классы могут быть включены в приложение либо с использованием только имени класса, либо с использованием полного имени, например: System.WinForms.Button.

Большинство классов в пространстве имен System.Windows.Forms являются производными от класса Control.

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

• На основе класса UserControlтакже можно создавать собственные классы элементов управления.

  1. Графика в С# (лекции + лабораторные работы)

С помощью GDI+ можно создавать рисунки, рисовать текст и управлять графическими изображениями как объектами.

Интерфейс GDI+ можно использовать для вывода графических изображений на формах Windows Forms и элементах управления.

GDI+ — это интерфейс GDI (интерфейс), который дает программистам возможность создавать приложения, не зависящие от устройств.

Доступ к возможностям GDI+ осуществляется через набор управляемых классов.

GDI+ отвечает за отображение информации на экране и ее вывод на принтер.

Доступ к API-интерфейсу GDI+ осуществляется через набор классов, из которых создается управляемый

код.Этот набор классов называется интерфейсом управляемых классов GDI+.Интерфейс управляемых классов состоит из следующих пространств

имен:

• System.Drawing

• System.Drawing.Drawing2D

• System.Drawing.Imaging

• System.Drawing.Text

• System.Drawing.Printing

Графические элементы Windows Forms можно разделить на три основные категории:

• Двухмерная (2-D) векторная графика

• Рисунки

• Типографская разметка

1. Создание объекта Graphics.

2. Использование объекта Graphics для рисования линий и фигур, отображения текста или изображения и

управления ими.

Получите ссылку на объект Graphics через объект PaintEventArgs при обработке события Paint формы или

элемента управления.

Вызовите метод CreateGraphics элемента управления или формы, чтобы получить ссылку на объект Graphics, соответствующий поверхности рисования этой формы или элемента управления.

Graphics g;

g = this.CreateGraphics();

Создайте объект Graphics из любого объекта, унаследованного от класса Image.Этот способ используется,

когда требуется изменить существующее изображение.

Bitmap myBitmap = new Bitmap("myPic.bmp");

Graphics g = Graphics.FromImage(myBitmap);

// создаем новый карандаш

Pen pen1 = new Pen(Color.DeepPink,3);

// Рисуем прямоугольник

e.Graphics.DrawRectangle (pen1,new Rectangle(40, 40, 150, 200));

//удаляем карандаш.

pen1.Dispose();

// создаем кисть

SolidBrush brush1 = new SolidBrush(Color.DarkOrchid);

e.Graphics.FillRectangle (brush1, new Rectangle (200, 200, 250, 230));

// Dispose of the brush.

brush1.Dispose();

SolidBrush myBrush = new SolidBrush(Color.Red);

e.Graphics.FillEllipse(myBrush, new Rectangle(0, 0, 200, 300));

myBrush.Dispose();

TextureBrush texture = new TextureBrush(pictureBox1.Image);

e.Graphics.FillRectangle(texture, new rectangle(200, 200, 250, 230));

System.Drawing.Drawing2D.LinearGradientBrush linGrBrush = new Sytem.Drawing.Drawing2D.LinearGradientBrush(new Point(0, 10),new Point(200, 10),Color.FromArgb(255, 255, 0, 0), // Opaque red

Color.FromArgb(255, 0, 0, 255)); // Opaque blue

Pen pen = new Pen(linGrBrush);

e.Graphics.DrawLine(pen, 0, 10, 200, 10);

e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100);

e.Graphics.FillRectangle(linGrBrush, 0, 155, 500, 30);

Вывод с точки

• String drawString = "Sample Text";

• // Создаем шрифт

• Font drawFont = new Font("Arial", 16); SolidBrush drawBrush = new SolidBrush(Color.Black);

// Создаем точку для вывода левого верхнего угла

• PointF drawPoint = new PointF(150.0F, 150.0F);

• e.Graphics.DrawString(drawString, drawFont, drawBrush, drawPoint);

в указанном прямоугольнике

• String drawString = "Sample Text";

• Font drawFont = new Font("Arial", 16);

• SolidBrush drawBrush = new SolidBrush(Color.Black);

• // Create rectangle for drawing.

• float x = 150.0F;

• float y = 150.0F;

• float width = 200.0F;

• float height = 50.0F;

• RectangleF drawRect = new RectangleF(x, y, width, height);

• Pen blackPen = new Pen(Color.Black);

• e.Graphics.DrawRectangle(blackPen, x, y, width, height);

• e.Graphics.DrawString(drawString, drawFont, drawBrush, drawRect);

текст по вертикали

• string drawString = "Sample Text";

• Font drawFont = new Font("Arial", 16);

• SolidBrush drawBrush = new SolidBrush(System.Drawing.Color.Black);

• float x = 150.0F;

• float y = 50.0F;

• StringFormat drawFormat = new StringFormat();

• drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;

• e.Graphics.DrawString(drawString, drawFont, drawBrush, x, y, drawFormat);

• drawFont.Dispose();

• drawBrush.Dispose();

Вывод изображений

Bitmap myBitmap = new Bitmap(pictureBox1.Image);

e.Graphics.DrawImage(myBitmap, 1, 1);

Объект Graphics также осуществляет поддержку графического состояния, которое можно подразделить на следующие категории:

• Параметры качества

TextRenderingHint, SmoothingMode, CompositingMode, CompositingQuality, InterpolationMode.

using System.Drawing.Drawing2D;

Graphics graphics = e.Graphics;

Pen pen = new Pen(Color.Blue);

graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

graphics.DrawEllipse(pen, 0, 0, 200, 100);

graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;

graphics.DrawEllipse(pen, 0, 150, 200, 100);

• Преобразования

Объект Graphicsподдерживает два преобразования (объемное и страничное), которые применяются ко всем объектам, отображаемым объектом Graphics.Любое аффинное преобразование можно хранить в

объемном преобразовании.Аффинные преобразования — это масштабирование, поворот, отражение, наклон и сдвиг. Страничное преобразование может использоваться для масштабирования и преобразования единиц измерения (например точек в дюймы).

В приведенном ниже примере устанавливаются объемное и страничное преобразования объекта Graphics.В качестве объемного преобразования устанавливается поворот на 30 градусов. Страничное преобразование

устанавливается таким образом, чтобы координаты, передаваемые второму методу DrawEllipse, измерялись в миллиметрах, а не в точках. В коде осуществляются два одинаковых вызова метода DrawEllipse.При вызове первого метода DrawEllipse применяется только объемное преобразование, а при вызове второго метода DrawEllipse применяются оба преобразования (объемное и страничное).

using System.Drawing.Drawing2D;

Graphics graphics = e.Graphics;

Pen pen = new Pen(Color.Blue);

graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

graphics.DrawEllipse(pen, 0, 0, 200, 100);

graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;

graphics.DrawEllipse(pen, 0, 150, 200, 100);

• Область обрезки

Объект Graphicsподдерживает область обрезки, которая применяется для всех объектов, отображаемых объектом Graphics. Для установки границ области обрезки служит метод SetClip.

  1. Работа со стандартными элементами управления (лабораторные работы)

Элементы управления — это компоненты, обеспечивающие взаимодействие между пользователем

и программой.

Группа командных объектов

• Элементы управления Button, LinkLabel, ToolBar реагируют на нажатие кнопки мыши и немедленно запускают какое-либо действие.

Группа текстовых объектов

Элементы TextBox, RichTextBox принимают текст, а элементы Label, StatusBar выводят ее. Для обработки

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

командных объектов.

Группа переключателей

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

ComboBox, ListBox, ListView, TreeView, NumericUpDown.

Группа контейнеров

Элементы этой группы служат подложкой кнопкам, текстовым полям, спискам — поэтому они и называются контейнерами. С элементами этой группы действия приложения практически никогда не связываются.

Элементы Panel, GroupBox, TabControl, кроме всего прочего, разделяют возможности приложения на логические группы, обеспечивая удобство работы.

Группа графических элементов

Для размещения и отображения их на форме иконок, заставок, встроенных изображений используются элементы для работы с графикой — Image List, Picture Box.

Диалоговые окна

Элементы OpenFileDialog, SaveFile Dialog, ColorDialog, PrintDialog содержат уже готовые операции для

выполнения различных операций с документом — открытие, сохранение, печать, предварительный просмотр.

Группа меню

Элементы MainMenu, ContextMenu представляют собой готовые формы для внесения заголовков и пунктов меню, содержащее в себе доступ ко всем возможностям и настройкам приложения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]