Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Как изменять размер формы при вращении колеса мыши


Автор: ViterAlex 31.8.2010, 21:48
Как можно изменить размер формы при вращении колеса мыши? В WPF я всего два дня, поэтому многого не знаю. Пытался привязаться к MouseWheel, но ничего не получается:
Код

  Private Sub ClockGrid_MouseWheel(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseWheelEventArgs)
    If e.Delta > 0 Then
      Me.Height = Me.Height * 1.01
      Me.Width = Me.Width * 1.01
    Else
      Me.Width = Me.Width * 0.99
      Me.Height = Me.Height * 0.99
    End If
  End Sub

Автор: KelTron 1.9.2010, 18:57
Чтобы получить реальные размеры нужно использовать ActualWidth и ActualHeight

Автор: ViterAlex 1.9.2010, 21:28
Чтобы получить — да, а чтобы задать? Получилось вот так:
Код

  Private Sub ClockGrid_MouseWheel(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseWheelEventArgs)
    Debug.Print(Me.ActualHeight)
    With ClockGrid
      If e.Delta > 0 Then
        .Height = .ActualHeight * 1.1
        .Width = .ActualWidth * 1.1
      Else
        .Width = .ActualWidth * 0.9
        .Height = .ActualHeight * 0.9
      End If
      If .ActualHeight < .MinHeight Then .Height = .MinHeight
      If .ActualHeight > .MaxHeight Then .Height = .MaxHeight
      If .ActualWidth < .MinWidth Then .Width = .MinWidth
      If .ActualWidth > .MaxWidth Then .Height = .MaxWidth
      .UpdateLayout()
    End With
  End Sub

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)