منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : Blur effect
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
هل من طريقة لاستعمال هذه الكلاس فى Windows Form بدلآ من WPF

كود :
Imports System.Windows
Imports System.Windows.Input
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects

Public NotInheritable Class BlurElementExtension
   Public Shared Sub BlurApply(element As UIElement, blurRadius As Double, duration As TimeSpan, beginTime As TimeSpan)
       Dim effect As New BlurEffect With {
       .Radius = 0
   }
       Dim animation As New DoubleAnimation(0, blurRadius, duration) With {
       .BeginTime = New TimeSpan?(beginTime)
   }
       element.Effect = effect
       effect.BeginAnimation(BlurEffect.RadiusProperty, animation)
   End Sub

   Public Shared Sub BlurDisable(element As UIElement, duration As TimeSpan, beginTime As TimeSpan)
       Dim blur As BlurEffect = TryCast(element.Effect, BlurEffect)
       If blur Is Nothing OrElse blur.Radius = 0 Then
           Return
       End If
       Dim animation As New DoubleAnimation(blur.Radius, 0, duration) With {
           .BeginTime = New TimeSpan?(beginTime)
       }
       blur.BeginAnimation(BlurEffect.RadiusProperty, animation)
   End Sub
End Class

كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       BlurElementExtension.BlurApply(Me.Handle, BlurRadius, New TimeSpan(0, 0, 1), TimeSpan.Zero)
   End Sub

وجد مشكلى فى الكود لانة يعمل على WPF هل من طريقة لاجعلة يعمل فى Windows Form ?
أعتقد ان ما تريده شئ اسمه Transition Effect بحيث يحدث animation بشكل معين علي الصورة و لفترات زمنية معينة غالبا ما تكون مرتبطة بحركة الماوس او اي شئ من هذا القبيل ومحتاجة فهم جيد للجرافكس
عموما ما تريده يختلف تماما عن المسمي Blur الخاص بالصور
متهيألي هناك طريقة لكي تستخدم WPF مع الويندوز فورم