Как написать простой UDP чат на .NET
Опубликовано в Программирование
Пишем простой UDP чат на .NET.
Опубликовано в Программирование
Пишем простой UDP чат на .NET.
Опубликовано в Программирование
Нужно сохранить какой-то элемент управления окна WPF в изображение. Допустим, сохранить как картинку динамически сгенерированный график или таблицу. Можно сделать это, например, так.
Опубликовано в Полезные советы
Допустим, у нас есть упорядоченный список объектов MyList() типа даты: List(of DateTime), и нам нужно выбрать из него только те объекты, которые имеют уникальные значения минут (или часов, или секунд, и т.п.). Выберем только первые встреченные значения с уникальным параметром. Для этого можно воспользоваться языком запросов LINQ и языком VB.NET.
Dim selected As IEnumerable(Of DateTime) = MyList.GroupBy(Function(d As DateTime) d.TimeStamp.Minute).[Select](Function(g) g.First)
Dim selected As IEnumerable(Of IGrouping(Of Integer, DateTime)) = MyList.GroupBy(Function(n As DateTime) (n.Minute)).Distinct
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, можно проверить в системном каталоге C:\Windows\System32\ наличие файла mscoree.dll – основного файла платформы .NET.
Чтобы узнать, какая версия (или версии, обычно их установлено несколько) платформы .NET установлена на компьютере, нужно проверить следующий раздел системного реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
В этом разделе будут находиться подразделы установленных версий .NET, например: v3.0, v3.5, v4.0 и т.д.
Опубликовано в Полезные советы
У вас ситуация: в редакторе XAML в Visual Studio вы задали визуальный элемент Image, который использует картинку из папки проекта. Вы видите её в редакторе, всё нормально. Но стоит запустить скомпилированное приложение – и изображения в нём не видно. Что делать?
Иногда помогает очистка решения и перекомпиляция: Построение Очистить, Построение Перестроить проект.
Если не помогло, кликаем правой кнопкой мыши на изображении в обозревателе решений, выбираем Свойства, в открывшейся панели свойств идём в Действия при сборке (BuildActions) "Нет" меняем на Ресурс (Resource).

Опубликовано в Полезные советы
По умолчанию, если ширина элемента списка ListView больше, чем ширина списка, его содержимое не переносится на новую строку. Чтобы перенос происходил, нужно использовать шаблон DataTemplate, применённый к элементу списка:
<ListView ItemsSource="{Binding myCollection}" ItemTemplate="{StaticResource lvDataTemplate}" />
Шаблон будет таким:
<DataTemplate x:Key="lvDataTemplate">
<TextBlock Text="{Binding}" TextWrapping="Wrap" />
</DataTemplate>
Опубликовано в Программирование
В интернете существует большое количество вариантов расчёта контрольной суммы CRC. Но что же собственно такое контрольная сумма и почему она рассчитывается именно так? Давайте разберёмся. А заодно напишем программу, которая будет рассчитывать CRC с заданными параметрами.
Опубликовано в Полезные советы
Сначала в разделе ресурсов создадим целочисленный массив, не забыв импортировать пространство имён mscorlib:
<Window xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Window.Resources>
<x:Array Type="{x:Type sys:Int32}" x:Key="refreshPeriods">
<sys:Int32>100</sys:Int32>
<sys:Int32>500</sys:Int32>
<sys:Int32>1000</sys:Int32>
<sys:Int32>2000</sys:Int32>
</x:Array>
И теперь используем ComboBox так:
<ComboBox ItemsSource="{StaticResource refreshPeriods}" SelectedValue="{Binding UpdateDiagramTimerPeriod, Mode=TwoWay}" />