Как написать простой UDP чат на .NET
Published in Программирование
Пишем простой UDP чат на .NET.
Published in Программирование
Пишем простой UDP чат на .NET.
Published in Программирование
Нужно сохранить какой-то элемент управления окна WPF в изображение. Допустим, сохранить как картинку динамически сгенерированный график или таблицу. Можно сделать это, например, так.
Published in Полезные советы
Допустим, у нас есть упорядоченный список объектов 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)
Published in Полезные советы
Для того чтобы определить, что в системе установлена платформа .NET, можно проверить в системном каталоге C:\Windows\System32\ наличие файла mscoree.dll – основного файла платформы .NET.
Чтобы узнать, какая версия (или версии, обычно их установлено несколько) платформы .NET установлена на компьютере, нужно проверить следующий раздел системного реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
В этом разделе будут находиться подразделы установленных версий .NET, например: v3.0, v3.5, v4.0 и т.д.
Published in Полезные советы
У вас ситуация: в редакторе XAML в Visual Studio вы задали визуальный элемент Image, который использует картинку из папки проекта. Вы видите её в редакторе, всё нормально. Но стоит запустить скомпилированное приложение – и изображения в нём не видно. Что делать?
Иногда помогает очистка решения и перекомпиляция: Построение Очистить, Построение Перестроить проект.
Если не помогло, кликаем правой кнопкой мыши на изображении в обозревателе решений, выбираем Свойства, в открывшейся панели свойств идём в Действия при сборке (BuildActions) "Нет" меняем на Ресурс (Resource).

Published in Полезные советы
По умолчанию, если ширина элемента списка ListView больше, чем ширина списка, его содержимое не переносится на новую строку. Чтобы перенос происходил, нужно использовать шаблон DataTemplate, применённый к элементу списка:
<ListView ItemsSource="{Binding myCollection}" ItemTemplate="{StaticResource lvDataTemplate}" />
Шаблон будет таким:
<DataTemplate x:Key="lvDataTemplate">
<TextBlock Text="{Binding}" TextWrapping="Wrap" />
</DataTemplate>
Published in Программирование
В интернете существует большое количество вариантов расчёта контрольной суммы CRC. Но что же собственно такое контрольная сумма и почему она рассчитывается именно так? Давайте разберёмся. А заодно напишем программу, которая будет рассчитывать CRC с заданными параметрами.
Published in Полезные советы
Сначала в разделе ресурсов создадим целочисленный массив, не забыв импортировать пространство имён 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}" />