Рейтинг@Mail.ru

Можно ли использовать константы условной компиляции в XAML

Опубликовано в Программирование

Мы рассматривали такое мощное средство Visual Studio как константы условной компиляции. Это средство позволяет, в зависимости от значения заданной константы, включать и исключать из исполняемого файла те или иные участки кода. А существует ли аналогичная возможность для разметки XAML?

Подробнее ...

Как перехватить нажатие клавиши в консольном приложении (.NET)

Опубликовано в Полезные советы

Если нужно проверить, не была ли нажата пользователем определённая клавиша клавиатуры во время выполнения длительной операции в консольном приложении, используется свойство Console.KeyAvailable().

Для примера напишем процедуру CheckEscapePressed(), которая будет проверять, не была ли нажата клавиша Escape:

Public Function CheckEscapePressed() as Boolean
    If Console.KeyAvailable Then
        Dim k As ConsoleKey = Console.ReadKey(True).Key
        If k.Equals(ConsoleKey.Escape) Then
            Console.Write("Операция была прервана.")
            Return True
        End If
    End If
    Return False
End Function 

Можно проверять нажатие любой из доступных в перечислении System.ConsoleKey клавиш.

А теперь в любом месте программы можем использовать нашу процедуру CheckEscapePressed(). Например, для прерывания бесконечного цикла по нажатию на клавишу "Escape":

Do 
    Console.WriteLine("Ожидаем нажатия клавиши ""Escape""...")
    Thread.Sleep(1000)
Loop Until CheckEscapePressed()
Подробнее ...

WPF: Как сохранить элемент управления FrameworkElement() в виде изображения

Опубликовано в Программирование

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

Подробнее ...

LINQ+VB.NET: Выбор объектов DateTime() с уникальными значениями минут

Опубликовано в Полезные советы

Допустим, у нас есть упорядоченный список объектов MyList() типа даты: List(of DateTime), и нам нужно выбрать из него только те объекты, которые имеют уникальные значения минут (или часов, или секунд, и т.п.). Выберем только первые встреченные значения с уникальным параметром. Для этого можно воспользоваться языком запросов LINQ и языком VB.NET.

Вариант 1 (самый быстрый)

Dim selected As IEnumerable(Of DateTime) = MyList.GroupBy(Function(d As DateTime) d.TimeStamp.Minute).[Select](Function(g) g.First)

Вариант 2

Dim selected As IEnumerable(Of IGrouping(Of Integer, DateTime)) = MyList.GroupBy(Function(n As DateTime) (n.Minute)).Distinct

Вариант 3 (самый медленный, использует преобразование к типу Lookup())

Dim selected As ILookup(Of Integer, DateTime) = MyList.ToLookup(Of Integer, DateTime)(Function(ByVal x As DateTime) x.Minute, Function(ByVal y As DateTime) y)
Подробнее ...

Как проверить версию .NET, установленную на компьютере

Опубликовано в Полезные советы

Для того чтобы определить, что в системе установлена платформа .NET, можно проверить в системном каталоге C:\Windows\System32\ наличие файла mscoree.dll – основного файла платформы .NET.

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

В этом разделе будут находиться подразделы установленных версий .NET, например: v3.0, v3.5, v4.0 и т.д.

Подробнее ...
Подписаться на этот канал RSS