Путь разработчика    

Выделение полигонов и полилиний в программе WPF с использованием C#

WPF позволяет вам делать всевозможные интересные вещи, которые намного сложнее в приложениях Windows Forms. Однако иногда, как в этом примере, это делает простые вещи намного сложнее. (Лозунг WPF должен быть «Дважды гибкий и только в пять раз больше!»)

Возможно, Microsoft пытается «мягко» побудить нас использовать объекты рисования (например, объект Polygon) для рисования фигур вместо того, чтобы пытаться отобразить их в коде. Это определенно проще использовать этот подход. Если бы это была идея Microsoft, возможно, было бы лучше, если бы они просто не разрешали такой вид рендеринга вместо того, чтобы давать нам запутанный и плохо документированный метод для этого.

В любом случае, с разглагольством, позвольте мне объяснить, как работает программа. Класс DrawingContext предоставляет несколько методов рисования, таких как DrawEllipse, DrawLine и DrawRectangle. Логически этот класс должен также предоставлять DrawPolygon, DrawPolyline и другие методы рисования, но это не так. Поэтому для этого примера я решил добавить их в качестве методов расширения. Следующий код показывает частный метод DrawPolygonOrPolyline, который рисует либо полигоны, либо полилинии.

Python

Этот метод создает объект StreamGeometry для представления формы. Класс StreamGeometry является классом геометрии (существуют другие, такие как LineGeometry и RectangleGeometry), который представляет последовательность команд рисования, которые могут включать в себя такие формы как линии, дуги, эллипсы и прямоугольники. (Класс PathGeometry похож, но тяжелее, потому что он поддерживает привязку, анимацию и модификацию данных. Поскольку этот пример не нужен, он использует класс StreamGeometry .)

После создания объекта StreamGeometry код устанавливает его свойство FillRule. Это может иметь значения EvenOdd или Nonzero. В этом примере используется параметр EvenOdd, поэтому в середине зеленой внешней звезды есть незаполненное отверстие. (См. Рисунок.) Если это свойство было установлено на Nonzero, то внутренность звезды была бы заполнена полностью.

Затем программа «открывает» StreamGeometry, чтобы получить контекст, который он может использовать для рисования. Он вызывает метод BeginFigure контекста для начала последовательности рисования. Вы должны вызвать этот метод до начала рисования. Его первый параметр указывает, где должен начинаться рисование, в этом случае в первой точке массива точек.

Второй параметр BeginFigure указывает, должна ли заполняться фигура. Этот пример устанавливает это значение в true. Если вы не хотите заполнять фигуру, вы можете просто передать этот метод кисти null, чтобы метод не заполнил фигуру ничем.

Последний параметр BeginFigure указывает, должна ли фигура закрываться. Метод использует значение параметра draw_polygon, поэтому этот код закрывает форму только в том случае, если он рисует многоугольник.

После запуска новой цифры код вызывает метод PolyLineTo контекста. Его первым параметром является массив точек, которые должны быть связаны. К сожалению, если первая точка в массиве дублирует точку, используемую при вызове BeginFigure, тогда полилиния включает эту точку дважды, и это испортит соединение между последней точкой и первой точкой. Например, если зеленая звезда использовала митированный вместо закругленных углов, то окончательный угол между первой и последней точкой не был бы мигрирован. (Чтобы увидеть эффект, передайте весь массив points здесь и измените основную программу, чтобы не использовать закругленные углы.)

Чтобы обойти эту проблему, код использует метод расширения LINQ Skip, чтобы пропустить первую точку в массиве точек и передать остальные точки в вызов PolyLineTo .

Второй параметр PolyLineTo определяет, должны ли «сегменты» между точками в полилинии «гладить» (рисовать). Этот пример устанавливает значение true, поэтому точки всегда рисуются. Если вы не хотите рисовать сегменты линии, просто передайте метод a null pen, чтобы метод не рисовал их ни с чем.

Окончательный параметр PolyLineTo указывает, должны ли линии плавно соединяться. Пример устанавливает это значение в false. Если вы хотите, чтобы линии были соединены плавно, вы можете указать свойство LineJoin для пера Rounded. (Описывается в ближайшее время.)

Наконец, после этих коротких, но трудных для понимания шагов программа вызывает метод DrawingContext объекта DrawGeometry для рисования StreamGeometry, содержащего многоугольник или полилиния.

Метод DrawPolygonOrPolyline объявлен private, поэтому он виден только в статическом классе DrawingContextExtensions, который его определяет. Вы можете сделать это public, но тогда основной программе нужно будет использовать тот же метод для рисования как полигонов, так и полилиний. Хотя это не конец света, обычно лучше сделать метод выполнять одну четко определенную задачу вместо того, чтобы сделать один супер-метод, который делает много.

Вместо этого метода public я создал следующие два метода public, которые вызывают private.

Python

Теперь использование этих методов из основной программы просто просто, используя другие методы, предоставляемые классом DrawingContext. Следующий код показывает, как программа рисует зеленую звезду.

Python

Этот код создает перо и устанавливает его свойство LineJoin в Rounded. Затем он вызывает метод расширения DrawPolygon, передавая ему светло-зеленую кисть, перо, точки (определенные ранее в коде, которые недостаточно интересны для отображения) и требуемое правило заполнения.

Следующий код показывает, как программа рисует меньшую синюю полилинию.

Python

Этот код создает новое перо. Он вызывает метод расширения DrawPolyline, передавая ему кисть null (так что форма не заполнена), перо, точки (переопределенные ранее в коде, который не является \'t достаточно интересно показать) и желаемое правило заполнения.

Источник: http://csharphelper.com/blog/2015/04/render-polygons-and-polylines-in-a-wpf-program-using-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Скопируйте массивы быстро в C#

Для копирования массива достаточно просто использовать цикл для, но для большинства массивов вы можете получить еще лучшую производительность, используя Ar...

24 10 2020 1:24:29

Что такое виртуальная машина Java?

Java Virtual Machine (JVM) - это спецификация, предоставляющая среду выполнения, в которой может быть запущен Java-байт-код. Как следует из названия, JVM д...

23 10 2020 16:10:16

Объектно-ориентированное программирование в С++ (Лафоре Р. 2004)

Изучение объектно-ориентированной парадигмы программирования обычно ассоциируется с многочасовым курсом лекций и утомительными лабораторными занятиями, во...

22 10 2020 17:14:28

Используйте массив управления в C#

Иногда бывает полезно использовать массив управления. Еще до .NET, Visual Basic позволяет определять массивы управления во время разработки. Концепция исче...

21 10 2020 13:10:57

Сравните скорости LINQ для разных подходов в C#

В этом примере сравниваются скорости LINQ при использовании LINQ различными способами. Чтобы найти минимальные и максимальные значения X в List & lt; Point...

20 10 2020 6:51:50

Перечислить записи метафайлов в C#

В этом примере показано, как вы можете перечислять записи метафайла. Затем вы можете решить, какие из них делать. ( Хотя я вообще не уверен, как вы принимае...

19 10 2020 9:55:22

Пусть пользователь перетаскивает изображение с прозрачными пикселями поверх фонового изображения в C#

В этом примере показано, как вы можете позволить пользователю перетащить изображение на PictureBox. Свойству PictureBox Изображение задано фоновое изображе...

18 10 2020 23:49:53

Легко нарисовать повернутый текст на форме в C#

Пример Нарисовать повернуть текст в C# показывает, как рисовать повернуть текст. К сожалению, этот метод требует, чтобы вы использовали код во время выполн...

17 10 2020 20:43:25

Получить имя исполняемого метода в C#

В этом примере показано, как вы можете получить имя метода для текущего исполняемого метода. Обычно вам не нужно получать это имя (вы можете просто посмотр...

16 10 2020 4:53:11

Список ярлыков в сетевом окружении компьютера в C#

В этом примере используется сценарий Windows Script Host для отображения ярлыков в сетевом окружении. Прежде чем программа сможет его использовать, вы долж...

15 10 2020 19:45:47

Разница между локальной переменной Java, переменной экземпляра и переменной класса?

Локальная переменная в Java обычно используется в методе, конструкторе или блоке и имеет только локальную область. Таким образом, вы можете использовать пе...

14 10 2020 15:32:10

Выберите разрешение принтера в C#

В этом примере показано, как разрешить пользователю выбирать разрешение принтера. Когда вы устанавливаете принтер объекта PrintDocument, его коллекция Defa...

13 10 2020 9:19:50

Почему в Python нет оператора switch или case?

У Python нет оператора switch / case из-за неудовлетворительных предложений. Никто не смог предложить реализацию, которая хорошо работает с синтаксисом Pyt...

12 10 2020 22:45:44

C# Программирование на языке высокого уровня (Т.А. Павловская)

Книга "C# Программирование на языке высокого уровня" представляет собой учебный курс по программированию на языке C#. Автор рассказывает в своей книге об о...

11 10 2020 21:44:11

Связать массивы и списки в C#

Один из способов отображения элементов в массиве в ListBox состоит в том, чтобы перебирать элементы и добавлять их в ListBox по одному, но есть более прост...

10 10 2020 12:52:36

Пользовательский ввод в Bash

Если мы хотим попросить пользователя ввести его, мы будем использовать команду read .  Эта команда берет ввод и сохраняет его в переменной. read var1 Давайте рассмотрим простой пример:...

09 10 2020 9:42:33

Как манипулировать Dom

Основным объектом является объект Document, который, в свою очередь, содержит несколько других дочерних объектов. Каждый элемент в документе будет иметь со...

08 10 2020 20:35:59

Сравнение производительность типов данных int, long и byte в C#

Пример Сравните производительность типов float, double и decimal в C# , сравнивает производительность float, double и decimal . В этом примере выполняется...

07 10 2020 19:54:52

Сериализация и десериализация данных в C#

Что такое сериализация и десериализация? Сериализация - это механизм преобразования объекта в поток байтов или текста. Deserialization берет ряд байтов или...

06 10 2020 23:13:25

1С:Предприятие. Практика программирования на платформе V7 (Н. Колпинский)

1 С: Предприятие. Практика программирования на платформе V7  Данные материалы рассчитаны на пользователей, знакомых с интерфейсом «1 С: Предприятия» и имеющих н...

05 10 2020 20:14:13

Как сделать метафайл в C#

Пример Отображение метафайла Windows (wmf) в C# < / a> объясняет, как отображать метафайл и почему метафайлы могут давать лучшие результаты, чем растровые...

04 10 2020 15:22:18

Делегаты и интерфейсы в C#

Делегаты: Делегаты являются ссылочными типами, поэтому они выделяют весь объект только для ссылки на метод. Делегаты быстрее всего звонят, когда вы знаете...

03 10 2020 8:23:24

Что на самом деле вызывает ошибку StackOverflow в Java?

StackOverflowError просто сигнализирует о том, что памяти больше нет. Он расширяет класс VirtualMachineError, что указывает на то, что JVM (виртуальная маш...

02 10 2020 7:22:36

Java Autoboxing и Unboxing

Autoboxing и Unboxing - это функции, включенные в Java 1.5, где автоматическое преобразование происходит от примитивного типа до соответствующего класса кл...

01 10 2020 8:22:20

Создание и передвижение 2D персонажа в Unity по клику мыши

В этом уроке мы разобрали как создать 2D персонажа в Unity и реализовали плавное передвижение по клику мыши c возможностью отключения столкновений....

30 09 2020 10:33:50

Как использовать тернарный оператор в Java?

Java-тернарный оператор является единственным условным оператором, который принимает три операнда. Это условный оператор, который обеспечивает более коротк...

29 09 2020 19:52:34

Тип заливки в Java

Изменение значения из одного типа данных в переменную другого типа называется преобразованием типа данных. Существует два типа литья, Примитивное литье тип...

28 09 2020 9:13:49

Использование памяти дисплея в C#

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

27 09 2020 22:35:57

Добавьте полезные расширения в класс BitArray в C#

Пример Использование класса BitArray в C# объясняет, как для использования класса BitArray. Этот пример добавляет некоторые полезные функции в класс BitArr...

26 09 2020 7:57:59

Использование методов расширения строк для проверки номеров социального обеспечения в C#

В этом примере определяются три метода расширения, возвращающих true, если строки содержат номера социального обеспечения. Вспомните, что вы должны добавля...

25 09 2020 8:52:10

Изменение ориентации и полей печати в C#

В этом примере показано, как изменить ориентацию и поля печати в распечатке или предварительном просмотре печати. По умолчанию, когда вы показываете предва...

24 09 2020 10:18:48

HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера, 4-е издание (Николай Прохоренок, Владимир Дронов)

Рассмотрены вопросы создания интерактивных Web-сайтов с помощью Н ТML, Javascript, PHP и MySQL, форматирования Web-страниц при помощи CSS. Даны основы Р Н Р и...

23 09 2020 18:25:25

Метод «bind» в JavaScript?

Метод bind() сохраняет контекст «this» и текущих параметров для будущего выполнения. Как правило, он используется для сохранения контекста выполнения для ф...

22 09 2020 1:38:46

Как ClassLoader работает на Java?

Java Classloader является частью JRE (Java Runtime Environment), которая динамически загружает классы Java в JVM (виртуальная машина Java). В частности, Ja...

21 09 2020 7:52:58

Как рассчитать сумму денег в C#

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

20 09 2020 14:16:54

C++ для чайников (Стефан Рэнди Дэвис)

Научитесь программировать! Полное руководство по C++, с учетом стандартов C++ и C++ 14. Вы всегда хотели научиться программировать, но не знали, какой язык...

19 09 2020 1:33:31

Почему Java не является чисто объектно-ориентированным языком?

Язык оцифрованного программирования (OOP) использует метод объектно-ориентированного программирования, который связывает связанные данные и функции с объек...

18 09 2020 14:14:17

Создание трехбуквенных слов в C#

В этом примере используется следующий очень простой код для генерации трехбуквенных слов с использованием букв от a до z. Для генерации букв код использует...

17 09 2020 14:51:11

Перемещение элементов между двумя ListBoxes в C#

Один из способов позволить пользователю выбрать элементы из списка - использовать ListBox или CheckedListBox. Пользователь может щелкнуть, Ctrl + Click, Sh...

16 09 2020 18:33:15

1С:Предприятие 8.0: Приемы программирования (Всеволод Несвижский)

Книга 1 С: Предприятие 8.0: Приемы программирования полностью построена на реальных примерах и задачах, решаемых 1 С-программистами в повседневной работе. Пре...

15 09 2020 23:40:18

Link ComboBox и источники данных ListBox в C#

Немногие знают, что вы можете связать элементы ComboBox и ListBox с источниками данных. Если вы установите для своего свойства DataSource значение массива...

14 09 2020 8:47:45

Класс InputStreamReader в Java

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

13 09 2020 19:23:15

Как использовать глобальную переменную в модулях python

Глобальная переменная - это переменная, доступная в нескольких областях. В Python лучше использовать один модуль для хранения всех глобальных переменных, к...

12 09 2020 1:37:41

Как дать свойства индексатора по умолчанию для класса в C#

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

11 09 2020 23:11:15

Нарисуйте кривую с резко очерченными цветами в C#

Сообщение Нарисуйте кривую с несколькими цветами в C# показывает, как вы можете рисовать кривую, которая постепенно меняется от одного цвета к другому, ког...

10 09 2020 2:31:26

1С:Предприятие. Практика программирования на платформе V7 (Н. Колпинский)

1 С: Предприятие. Практика программирования на платформе V7  Данные материалы рассчитаны на пользователей, знакомых с интерфейсом «1 С: Предприятия» и имеющих н...

09 09 2020 3:49:13

Список окон рабочего стола на C#

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

08 09 2020 17:51:37

Как создать документ Word в C#

В этом примере показано, как заставить C# создать документ Word. Сначала откройте диалоговое окно « Добавить ссылки». На вкладке COM выберите « Библиотека об...

07 09 2020 15:45:44

Важные характеристики объектов Python

Все объекты Python имеют уникальный идентификатор. Встроенная функция id() возвращает идентификатор объекта как целое. Это целое число обычно соответствует...

06 09 2020 21:36:40

Исключение специальных символов в JavaScript

Управляющий символ позволяет вам выводить символы, которые обычно не могут быть доступны, как правило, потому что браузер интерпретирует его по-разному с т...

05 09 2020 7:45:27

Нарисуйте нормали поверхности на 3D-модели с помощью WPF и XAML

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

04 09 2020 4:40:10

Программирование под Android (Брайан Харди, Билл Филлипс)

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

03 09 2020 13:27:19

Оператор if-else в Java Примеры и синтаксис

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

02 09 2020 3:10:20

Сделать свойство индексатора по умолчанию для класса в C#

Классы, такие как Dictionary и List предоставляют свойство индексатора по умолчанию, которое позволяет вам получать доступ к значениям, используя синтаксис...

01 09 2020 2:16:51

Как найти пятницу, следующую за данной датой в C#

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

31 08 2020 18:49:57

Ошибка компиляции "Can not Find Symbol" в Java

Ошибки « Не удается найти символ» обычно возникают, когда вы пытаетесь ссылаться на необъявленную переменную в коде. Ошибка « Не удается найти символ» означа...

30 08 2020 0:39:27

Язык программирования С++ (Б. Страуструп)

Книга Б. Страуструпа " Язык программирования С++" дает описание языка, его ключевых понятий и основных приемов программирования на нем. Это завершенное руко...

29 08 2020 21:33:28

Важные особенности Java

Ниже перечислены некоторые важные особенности языка программирования Java: Простой Независимый от платформы Архитектурный Нейтральный Динамический и расшир...

28 08 2020 1:21:32

Сбор мусора в C#

В этом примере показано, как вы можете принудительно собрать сборку мусора на C#. Языки .NET используют схему сбора мусора управления памятью. Есть несколь...

27 08 2020 18:45:48

Как сделать стрельбу в Unity 2D с пулом объектов

В сегодняшнем уроке мы разберем как сделать стрельбу в Unity 2D с использованием пула объектов (Object pool) для реализации этого менее затратно....

26 08 2020 12:19:23

Массивы в C#

Массив в C#: Массив - это коллекция того же типа данных Массив может быть объявлен как фиксированный размер или динамический Массив может быть доступен по...

25 08 2020 19:44:43

Что такое сборщик мусора в Java?

Для многих программистов управление памятью Java является одной из наиболее привлекательных функций, потому что Java-программисту никогда не приходится име...

24 08 2020 16:17:21

Нарисуйте кривую Безье в C#

В этом примере показано, как использовать метод DrawBezier класса Graphics для рисования кривой Безье. Кривая Безье соединяет две конечные точки с гладкой...

23 08 2020 0:31:16

Размер шрифта для соответствия метке в C#

Следующий метод SizeLabelFont показывает, как размер шрифта соответствует тексту Label. Он дает Label самый большой возможный шрифт, сохраняя при этом его...

22 08 2020 19:35:27

Быстрое преобразование изображения в оттенки серого в C#

В этом примере показано, как можно быстро преобразовать изображение в оттенки серого с помощью класса Bitmap32, описанного в сообщении Используйте класс Bi...

21 08 2020 12:25:17

Воспроизведение файлов WAV в C#

Класс System.Media.SoundPlayer позволяет вам легко воспроизводить файлы WAV. В этом примере используется следующий PlayWav метод для воспроизведения файлов...

20 08 2020 18:55:42

Как открыть файл PDF в C#

Во время разработки я добавил в форму элемент WebBrowser. Когда программа запускается, он использует следующий код для открытия PDF-файла в элементе управл...

19 08 2020 22:52:37

Как добавить текст в существующий файл в Java

В Java вы можете использовать PrintWriter (file, true) для добавления нового содержимого в конец файла, и это позволит сохранить существующий контент и доб...

18 08 2020 11:35:44

В чем разница между файлами .py и .pyc?

Python компилирует .py файлы и сохраняет его как .pyc-файлы, поэтому он может ссылаться на них при последующих вызовах. Файл .pyc содержит скомпилированный...

17 08 2020 9:24:43

Как проверить строку как литерал и как объект? JavaScript

Оператор typeof JavaScript возвращает строку, которая идентифицирует тип данных выражения. Он используется для получения типа данных (возвращает строку) ег...

16 08 2020 3:12:13

Анимация проблемы Башни Ханоя в C#

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

15 08 2020 20:54:19

C++. От ламера до программера. Включая C++11 (Эллайн Алекс)

Описание книги C++. От ламера до программера. Включая C++11: Эта книга предлагает быстрый способ изучить принципы объектно-ориентированного программирования...

14 08 2020 20:37:27

Сделать общий класс очереди приоритетов в C#

В этом примере показано, как создать общий класс очереди приоритетов. Общий класс похож на обычный класс, за исключением того, что он может принимать один...

13 08 2020 23:45:16

Инициализировать словарь в C#

Сообщение Инициализация двумерных массивов в C# объясняет как инициализировать двумерный массив. Хотя Dictionary является более сложным типом данных, вы мо...

12 08 2020 17:37:30

Как освоить профессию программиста: основные ошибки

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

11 08 2020 14:33:38

Нарисуйте кривую с отрицательным напряжением в C#

Сообщение Нарисуйте кривую с разной напряженностью в C# использует метод Graphics класса DrawCurve класса для рисования набора кривых с разными напряжениям...

10 08 2020 15:31:41

Как загрузить и установить Python

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

09 08 2020 19:17:23

Алгоритмы и программы на Turbo Pascal. Учебный курс (Ю. Федоренко)

Книга " Алгоритмы и программы на Turbo Pascal. Учебный курс" предназначена для самостоятельного изучения одного из самых популярных языков программирования....

08 08 2020 0:54:45

Оператор Java break и continue

Иногда желательно пропустить некоторые утверждения внутри цикла или немедленно завершить цикл, не проверяя тестовое выражение. В таких случаях мы можем исп...

07 08 2020 6:45:16

Перечислить узлы TreeView в C#

Предыдущие два сообщения показывают два способа перечисления узлов TreeView, которые проверяются. Идея состоит в том, чтобы рекурсивно сканировать узлы дер...

06 08 2020 23:29:23

Выполнение специальных команд SQL в C#

В этом примере используется OLE DB для подключения к базе данных доступа. ( К сожалению, этот метод не может создать базу данных, но вы можете использовать...

05 08 2020 14:30:46

Какой язык программирования лучше изучать первым

Какой язык программирования лучше изучать первым? Программирование за последние годы не только не потеряло свою актуальность, но и стремительно становится все более востребовательным....

04 08 2020 15:43:39

Как связаны методы наследования и переопределения?

Наследование позволяет нам определить класс, который извлекает все функциональные возможности из родительского класса и позволяет нам добавлять больше. Пер...

03 08 2020 6:52:47

Воспроизвести мелодии с определенными частотами в C#

В этом примере показано, как вы можете воспроизводить тоны с заданной частотой и продолжительностью. Когда пользователь нажимает кнопку « Воспроизведение»,...

02 08 2020 22:30:29

Расположите форму в нижнем правом углу экрана в C#

Свойство Screen.PrimaryScreen.WorkingArea дает размер рабочей области основного экрана. ( Для получения дополнительной информации см. Получить рабочую облас...

01 08 2020 9:24:49

Что такое поток Daemon в Java

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

31 07 2020 8:38:56

Разработка веб-приложений с помощью PHP и MySQL (Люк Веллинг, Лора Томсон)

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

30 07 2020 20:37:33

Сделайте мигающую метку в WPF и C#

В Windows Forms тривиально сделать мигающую метку. Что касается большинства других задач, WPF делает это намного сложнее, но дает вам дополнительную гибкос...

29 07 2020 8:21:56

Как нарисовать анимированный текст в C#

Обратите внимание, что результат в исполняемом файле лучше, чем результат, предоставляемый GIF справа. GIF немного отрывистый, потому что он использует тол...

28 07 2020 2:48:37

Петля над массивом неизвестного измерения в C#

Предыдущий пост Loop над записями в массиве неизвестной длины в C# объясняет, как перебирать записи в одномерном или двумерном массиве, но что вы будете де...

27 07 2020 14:57:32

Преобразовать строку в Integer в C#

В этой статье мы напишем программу C# для преобразования строки в Integer с использованием метода Convert.ToInt32() Вывод: 6245...

26 07 2020 4:32:47

Рисование, перемещение и удаление сегментов линии в C#

В этом примере показано, как сделать программу рисования, которая позволяет рисовать, перемещать и удалять сегменты линии. Он основан на примере Нарисуйте...

25 07 2020 5:53:51

Что такое классы-оболочки в Java

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

24 07 2020 5:16:35

Генерация случайных строк в C#

Иногда полезно генерировать случайные строки, часто для тестирования программы, такой как сортировка строк. Метод Random класса Next генерирует случайные ч...

23 07 2020 5:13:36

Преобразование файлов RTF и TXT в файлы DOCX в C#

Когда вы вводите имена входных и выходных файлов и нажмите « Конвертировать», программа использует следующий код, чтобы открыть файл и сохранить его в новом...

22 07 2020 23:31:47

Программирование на Java

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

21 07 2020 4:48:23

Почему Java не является чисто объектно-ориентированным языком?

Язык оцифрованного программирования (OOP) использует метод объектно-ориентированного программирования, который связывает связанные данные и функции с объек...

20 07 2020 4:36:36

Управляйте корзиной (корзиной для мусора) в C#

Вы можете использовать функции API для управления корзиной, но некоторые операции намного проще, если вы используете библиотеку Microsoft.VisualBasic. Вы м...

19 07 2020 22:10:42

Программа, которая отображает собственный двоичный код тремя способами в C#

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

18 07 2020 0:23:14

Класс Java StringBuilder

Java StringBuilder идентичен StringBuffer, за исключением одного важного различия, которое не синхронизировано, это означает, что он не является потокобезо...

17 07 2020 8:41:10

Выполнение бинарного усиления контраста на изображении в C#

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

16 07 2020 6:49:11

Тип заливки в Java

Изменение значения из одного типа данных в переменную другого типа называется преобразованием типа данных. Существует два типа литья, Примитивное литье тип...

15 07 2020 15:56:14

Сделать владельцем рисованные меню в C#

Проще всего использовать меню со стандартным внешним видом, но вы можете сделать владельцы рисованных меню, если хотите. Это не сложно, но вам нужно выполн...

14 07 2020 19:10:47

Функции в Python

Функция является одной из основных концепций языка программирования. Функции - это «автономные» модули кода, которые выполняют отдельный сервис. Это матема...

13 07 2020 17:49:23

Android. Разработка приложений для чайников (Донн Фелкер, Джошуа Доббс)

В наше время миллиарды пользователей носят в кармане портативные устройства, и в половине из них установлена операционная система Android. Даже если вы ник...

12 07 2020 1:18:24

Циклы в Bash (for, while, until, break, continue, select)

В этом разделе нашего учебного пособия по Bash мы рассмотрим различные форматы циклов for, while, until, доступные нам, а также break, continue, select...

11 07 2020 16:40:28

Список поставщиков OLE DB, установленных в системе на C#

В этом примере показано, как вы можете указать поставщиков OLE DB, установленных в системе. ( Недавно мне пришлось запускать более старую программу в новой...

10 07 2020 14:12:53

Преобразование между длинными и короткими именами файлов в C#

Вы можете использовать функцию API GetShortPathName для преобразования от длинного к коротким именам файлов. Следующий код объявляет функцию API. Следующий...

09 07 2020 9:17:43

7 практических занятий по программированию в 1С 8.хх (Клюев В.В.)

7 практических занятий по программированию в 1 С 8.хх это пособие для освоения программирования и конфигурирования в системе 1 С: Предприятие 8.хх, на основе...

08 07 2020 12:51:17

Как создать выпадающие списки в JavaScript

В раскрывающемся списке содержится список текста, который позволяет пользователю сайта выбирать из параметров. HTML Выберите опции Источник Получить выбран...

07 07 2020 0:50:17

Что такое отказобезопасные и отказоустойчивые итераторы в Java

Неуправляемые итераторы Fail-Fast iterators, возвращенные большинством типов коллекций, не переносят каких-либо структурных изменений в коллекции, итерации...

06 07 2020 19:32:25

Печать изображений в C#

В этом примере показан простой способ печати изображений. Когда вы печатаете, обработчик события PrintPocument PrintDocument предоставляет объект Graphics...

05 07 2020 9:29:52

Как сделать класс с определением и повышением событий в C#

В этом примере используется класс BankAccount для управления банковским счетом (и для определения способов и событий события). Если программа пытается удал...

04 07 2020 20:11:46

HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера, 4-е издание (Николай Прохоренок, Владимир Дронов)

Рассмотрены вопросы создания интерактивных Web-сайтов с помощью Н ТML, Javascript, PHP и MySQL, форматирования Web-страниц при помощи CSS. Даны основы Р Н Р и...

03 07 2020 9:34:55

JavaScript. Справочник (Аллен Вайк)

Книга "Javascript. Справочник" представляет собой исключительно полный справочник по объектам, методам, атрибутам, высокоуровневым функциям языка написания...

02 07 2020 12:26:46

Запустите приложение DOS и запишите его вывод в C#

Этот код создает объект ProcessStartInfo для хранения информации о процессе, который он должен запустить. Затем он создает объект Process, устанавливает ег...

01 07 2020 16:45:33

Как освоить профессию программиста: основные ошибки

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

30 06 2020 3:25:27

Переход на другую HTML страницу JavaScript

Вы можете перенаправить веб-страницу с помощью JavaScript, используя ряд методов. Если вам нужен скрипт переадресации JavaScript, совместимый с кросс-брауз...

29 06 2020 22:52:16

Сжатие файлов JPG в каталоге в C#

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

28 06 2020 9:52:34

Изучаем Python, 4-е издание (Марк Лутц)

Такие известные компании, как Google и Intel, Cisco и Hewlett-Packard, используют язык Python, выбрав его за гибкость, простоту использования и обеспечивае...

27 06 2020 20:46:59

Генерация слов заданной длины в C#

Пример Создание трехбуквенных слов в C# использует три вложенных цикла для генерации слов, содержащих три буквы. В этом примере используется следующий код...

26 06 2020 11:22:39

Используйте событие Validating в C#

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

25 06 2020 6:18:36

Использование базовой вставки с пользовательскими торцевыми заглушками в C#

Пример Нарисуйте линии с пользовательскими заглушками в C# показывает, как рисовать линии с пользовательскими заглушками. Например, используя эти методы, в...

24 06 2020 15:44:15

Использование веб-браузера в Python

Модуль webbrowser предоставляет интерфейс высокого уровня, позволяющий пользователям просматривать веб-документы. В большинстве случаев простое вызов функц...

23 06 2020 13:39:24

C# Программирование на языке высокого уровня (Т.А. Павловская)

Книга "C# Программирование на языке высокого уровня" представляет собой учебный курс по программированию на языке C#. Автор рассказывает в своей книге об о...

22 06 2020 3:10:41

Сделайте отображение изображений ComboBox с текстом в C#

Пример Сделать цветной дисплей ComboBox или изображения на C# показывают, как сделать созданный владельцем ComboBox, который отображает либо серию цветовых...

21 06 2020 23:32:56

Выбор языка программирования: 6 пунктов при выборе своего языка

Выбор языков программирования достаточно широк, но вы можете найти подходящий для вас и изучить его, если поразмыслите над следующими пунктами. 1. Определи...

20 06 2020 22:32:19

Программирование в тональности С# (Петцольд Ч.)

Эта книга — своего рода учебник для тех, кто решил заняться изучением С#—современного, объектно-ориентированного языка программирования, разработанного Mic...

19 06 2020 22:44:23

Каковы final переменные в Java?

Конечным ключевым словом является зарезервированное ключевое слово в Java для ограничения пользователя и его можно применять к переменным-членам, методам,...

18 06 2020 4:19:37

Как отобразить иерархию управления формой в C#

В этом примере отображается иерархия элементов управления для формы. Это на самом деле относительно просто. Некоторые элементы управления могут содержать д...

17 06 2020 18:15:43

Как найти свой IP-адрес и имя компьютера в Java

Класс InetAddress можно использовать для поиска доменных имен (DNS). Имя хоста может быть либо именем машины, например «mail.yahoo.com», либо текстовым пре...

16 06 2020 0:33:51

Разрешить ограниченный выбор CheckBox в C#

Обычно пользователь может проверить или снять флажок CheckBox независимо от других параметров. Это сообщение показывает, как вы можете разрешить ограниченн...

15 06 2020 23:53:38

Как определить тип экземпляра и наследование в Python

Метод isinstance() проверяет, является ли объект экземпляром класса, тогда как метод issubclass() запрашивает, является ли один класс подклассом другого кл...

14 06 2020 6:48:20

C# 4.0 Полное руководство (Герберт Шилдт)

В книге "C# 4.0 Полное руководство" Г. Шилдта по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все осно...

13 06 2020 16:35:50

Распечатайте диаграмму конверсии по Цельсию в Фаренгейт в C#

Один из моих друзей повара много использует японские кулинарные книги. Поскольку печи в Соединенных Штатах показывают только температуру в градусах Фаренге...

12 06 2020 21:10:51

JavaScript. Подробное руководство (Дэвид Флэнаган)

Пятое издание бестселлера "Javascript. Подробное руководство" полностью обновлено. Рассматриваются взаимодействие с протоколом HTTP и применение технологии...

11 06 2020 5:40:37

Что такое компилятор Just-In-Time (JIT) в Java?

Компилятор Just-In-Time (JIT) является компонентом JRE (Java Runtime Environment), который повышает производительность приложений Java во время выполнения....

10 06 2020 22:27:15

Каковы недостатки Python?

Недостатками Python являются: Скорость Python медленнее, чем C или C ++. Но, конечно, Python - это язык высокого уровня, в отличие от C или C ++ он не ближ...

09 06 2020 16:58:48

Добавление вкладок в WPF TabControl во время выполнения в C#

При нажатии кнопки + этот пример использует следующий код для добавления вкладки в WPF TabControl с именем tabMain. Сначала код создает TabItem и добавляет...

08 06 2020 21:32:19

Сравните производительность команд if-else и switch в C#

Пример Сравните скорости условного оператора (тройной оператор? :) и оператор if-else в C# сравнивает производительность двух видов условных тестов. Джонни...

07 06 2020 16:44:22

Используйте сегменты для рисования трехмерных осей с тиковыми метками с использованием WPF и C#

В этом примере используются методы, описанные в post Нарисуйте улучшенные 3D-сегменты, используя WPF и C# , чтобы нарисовать 3D-оси с тиковыми метками. Вы...

06 06 2020 15:25:40

Оператор yield в C#

Перечисление представляет собой последовательность значений, которые программа может перечислить, например, используя цикл foreach. В C# вы можете использо...

05 06 2020 4:56:47

Как нарисовать улучшенный текст на кривой в C#

В этом примере показано, как рисовать улучшенный текст вдоль изогнутого пути. Пример Нарисовать текст на кривой в C# показывает, как рисовать текст по искр...

04 06 2020 8:46:56

Нарисуйте пунктирные линии с разными стилями в C#

Чтобы нарисовать пунктирные линии, создайте новый Pen и установите его свойство DashStyle, чтобы указать стиль тире, который вы хотите. Например, следующий...

03 06 2020 20:50:27

Что такое __init__.py для Python?

Python обеспечивает очень простую систему упаковки, которая представляет собой просто расширение механизма модуля в каталог. Любая директория с файлом __in...

02 06 2020 19:30:22

Эндрю Стиллмен - Изучаем C#, 3-е издание - 2014

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

01 06 2020 5:10:57

Печать календаря на C#

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

31 05 2020 2:12:14

События флеш-кликов в C#

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

30 05 2020 20:53:37

Разница между операторами «=», «==» и «===»?

«=» - оператор присваивания. Оператор присваивания присваивает значение своему левому операнду на основе значения его правого операнда. Первым операндом до...

29 05 2020 16:21:36

Модификаторы доступа в Java

Одним из основных принципов объектно-ориентированного программирования является «скрытие информации», что означает, что объекты не раскрывают все их детали...

28 05 2020 5:55:36

Еще:
Программирование -1 :: Программирование -2 :: Программирование -3 :: Программирование -4 :: Программирование -5 ::

И сказал Великий Программист:
«После трёх дней без программирования жизнь теряет смысл»