Рейтинг@Mail.ru
aave

aave

Чтобы запустить графический редактор Paint достаточно нажать Win + R, ввести в поле mspaint и нажать кнопку Enter. А как запустить программу, не входящую в стандартный набор программ, так же быстро и просто? Давайте для примера будем запускать графический редактор Paint.NET аналогичным образом.

  1. Откроем Свойства системы Дополнительно Переменные среды.
  2. Находим переменную PATH, нажимаем на неё и на кнопку Изменить.
  3. Если у вас Windows XP или Windows 7, через точку с запятой добавляем путь к исполняемому файлу программы, например: c:\Program Files\Java\jdk1.8.0_05\bin\;c:\Program Files\Paint.NET\ и перезагрузим компьютер, чтобы операционная система прочитала данные о новой переменной среды. Если у вас Windows 10, то нажимаем кнопку Добавить и вводим то же самое; перезагружать не обязательно.
  4. Чтобы не вводить длинное имя запускаемого файла, в директории, которую мы указали, создадим с помощью блокнота файл pdn.bat с таким содержимым:
  5. start PaintDotNet.exe
  6. Теперь для запуска Paint.NET из командной строки достаточно набрать Win+R pdn Enter.
Добавление новой переменной среды для произвольной программы в Windows
Добавление новой переменной среды для произвольной программы в Windows
Подробнее ...

Сначала в разделе ресурсов создадим целочисленный массив, не забыв импортировать пространство имён 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}" />
Подробнее ...

Добавить обработчик по таймеру:

Private updateGuiTimer As DispatcherTimer

'При загрузке окна инициализируем и запускаем таймер.
Private Sub winLoaded(sender As Object, e As RoutedEventArgs)
    updateGuiTimer = New DispatcherTimer()
    updateGuiTimer.Interval = TimeSpan.FromMilliseconds(100) 'задаём период обновления
    AddHandler updateGuiTimer.Tick, AddressOf updateGui
    updateGuiTimer.Start()
End Sub

'Обработчик события Timer.Tick().
Private Sub updateGui(ByVal sender As Object, ByVal e As EventArgs)
    txtLabel.Text = LabelPropValue 'здесь обновлять элементы GUI
End Sub

Добавить обработчик события ререндеринга (происходит около 60 раз в секунду).

Private Sub winLoaded(sender As Object, e As RoutedEventArgs)
    AddHandler CompositionTarget.Rendering, AddressOf OnRendering
End Sub

Public Sub OnRendering(sender As Object, e As EventArgs)
    txtLabel.Text = SomeProp.ToString() 'здесь обновлять необходимые элементы GUI
End Sub
Подробнее ...
Подписаться на этот канал RSS