Benutzer mit den meisten Antworten
VB: Steuerelement auf der Stelle drehen

Frage
Antworten
-
Falls du den Codebehind (C#/VB.NET) meinst, dort gehts eigentlich wie im XAML, nur mit anderer Syntax.
btn.RenderTransform = New RotateTransform(45) 'Oder für mehrere Transformationen: Dim t As New TransformGroup() t.Children.Add(New RotateTransform(45)) btn.RenderTransform = t
- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
; Webseite | Code Beispiele | Facebook | Snippets | Twitter
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert Bolzen Sonntag, 30. Juni 2013 17:55
-
Hi,
nachfolgend ein kleine Demo, in der ein Button über einen Zeitgeber gedreht wird:<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Button Name="btn" Content="Bitte drück mich" Height="25" Width="100"/> </Grid> </Window>
Und der CodeBehind dazu:
Imports System.Windows.Threading Imports System.Threading Class MainWindow Private disp As Dispatcher Private t As Timer Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded disp = Dispatcher t = New Timer(AddressOf Drehen, Nothing, 1000, 100) End Sub Private Sub Drehen(obj As Object) Static winkel As Double = 0 disp.Invoke(Sub() btn.RenderTransform = New RotateTransform(winkel, btn.Width / 2, btn.Height / 2) End Sub) winkel += 1 End Sub End Class
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Sonntag, 30. Juni 2013 15:53
- Als Antwort markiert Bolzen Sonntag, 30. Juni 2013 17:55
Alle Antworten
-
Hallo, Für VS 2012 gehts recht einfach. markiere das Control und gehe in das Eigenschaften-Fenster. Dort kannst du unter Transformationen > Drehen einstellen, um wie viel Grad das Control gedreht werden soll.
Mithilfe von RenderTransformOrign kannst du den Drehpunkt festlegen:
<Button Content="Button" RenderTransformOrigin="0.5,0.5"> <Button.RenderTransform> <RotateTransform Angle="45"/> </Button.RenderTransform> </Button>
- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
; Webseite | Code Beispiele | Facebook | Snippets | Twitter
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier. -
Hallo Koopakiller,
das wusste ich schon. Ich möchte das Steuerelement durch "den anderen Code" (hab keine Ahnung wie das heißt) ändern, also während das Programm läuft.
Ich hoffe das reicht als Erläuterung
Gruß, Bolzen PS: Ich programmiere mit VS12(Desktop) und VS10
-
Falls du den Codebehind (C#/VB.NET) meinst, dort gehts eigentlich wie im XAML, nur mit anderer Syntax.
btn.RenderTransform = New RotateTransform(45) 'Oder für mehrere Transformationen: Dim t As New TransformGroup() t.Children.Add(New RotateTransform(45)) btn.RenderTransform = t
- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
; Webseite | Code Beispiele | Facebook | Snippets | Twitter
Wenn die Frage beantwortet ist, dann markiert die hilfreichsten Beiträge als Antwort und bewertet die Beiträge. Danke.
Einen Konverter zwischen C# und VB.NET Code gibt es hier.- Als Antwort markiert Bolzen Sonntag, 30. Juni 2013 17:55
-
Hi,
nachfolgend ein kleine Demo, in der ein Button über einen Zeitgeber gedreht wird:<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Button Name="btn" Content="Bitte drück mich" Height="25" Width="100"/> </Grid> </Window>
Und der CodeBehind dazu:
Imports System.Windows.Threading Imports System.Threading Class MainWindow Private disp As Dispatcher Private t As Timer Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded disp = Dispatcher t = New Timer(AddressOf Drehen, Nothing, 1000, 100) End Sub Private Sub Drehen(obj As Object) Static winkel As Double = 0 disp.Invoke(Sub() btn.RenderTransform = New RotateTransform(winkel, btn.Width / 2, btn.Height / 2) End Sub) winkel += 1 End Sub End Class
--
Peter- Als Antwort vorgeschlagen Peter Fleischer Sonntag, 30. Juni 2013 15:53
- Als Antwort markiert Bolzen Sonntag, 30. Juni 2013 17:55