Powershell Mousedown Event
Hallo zusammen,
kennt jemand das Pendat zu diesem Code?:
Suche dieselbe Funktion in Powershell (der o.g. Code ist VB).
Soweit bin ich schon einmal =)
Mit dem VB-Code von oben kann man das Fenster bei einem Mousedown bewegen.
Gruß, Sascha
kennt jemand das Pendat zu diesem Code?:
Private Sub Installer_MouseDown(sender As Object, e As MouseEventArgs) Handles MyBase.MouseDown
If (e.Button = Windows.Forms.MouseButtons.Left) Then
Me.Capture = False
Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
Else : End If
End Sub
$mainForm_MouseDown = [System.Windows.Forms.MouseEventHandler] {
if (condition) {
}
Mit dem VB-Code von oben kann man das Fenster bei einem Mousedown bewegen.
Gruß, Sascha
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 239896
Url: https://administrator.de/forum/powershell-mousedown-event-239896.html
Ausgedruckt am: 22.12.2024 um 12:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo Sascha,
kannst du so machen:
hier noch ein komplettes Beispiel, bei dem man die Form bewegen kann wenn man die Maus irgendwo auf der Form gedrückt hält:
(Für den Fall das dir der Zusammenhang fehlt)
Grüße Uwe
kannst du so machen:
$mainForm.add_MouseDown({
if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){
$script:mousedown = $true
$script:m_offset = new-Object System.Drawing.Point
$script:m_offset.X = $mainForm.PointToScreen($_.Location).X - $mainForm.Location.X
$script:m_offset.Y = $mainForm.PointToScreen($_.Location).Y - $mainForm.Location.Y
}
})
$mainForm.add_MouseUp({
if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){
$script:mousedown = $false
}
})
$mainForm.add_MouseMove({
if($script:mousedown){
$p = new-Object System.Drawing.Point
$p.X = [System.Windows.Forms.Cursor]::Position.X - $script:m_offset.X
$p.Y = [System.Windows.Forms.Cursor]::Position.Y - $script:m_offset.Y
$mainForm.Location = $p
}
})
hier noch ein komplettes Beispiel, bei dem man die Form bewegen kann wenn man die Maus irgendwo auf der Form gedrückt hält:
(Für den Fall das dir der Zusammenhang fehlt)
function GenerateForm {
#region Import the Assemblies
[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
#endregion
#region Generated Form Objects
$form1 = New-Object System.Windows.Forms.Form
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState
#endregion Generated Form Objects
$OnLoadForm_StateCorrection=
{#Correct the initial state of the form to prevent the .Net maximized form issue
$form1.WindowState = $InitialFormWindowState
}
#----------------------------------------------
#region Generated Form Code
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 272
$System_Drawing_Size.Width = 292
$form1.ClientSize = $System_Drawing_Size
$form1.DataBindings.DefaultDataSourceUpdateMode = 0
$form1.Name = "form1"
$form1.Text = "Testform"
$form1.add_MouseDown({
if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){
$script:mousedown = $true
$script:m_offset = new-Object System.Drawing.Point
$script:m_offset.X = $form1.PointToScreen($_.Location).X - $form1.Location.X
$script:m_offset.Y = $form1.PointToScreen($_.Location).Y - $form1.Location.Y
}
})
$form1.add_MouseUp({
if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){
$script:mousedown = $false
}
})
$form1.add_MouseMove({
if($script:mousedown){
$p = new-Object System.Drawing.Point
$p.X = [System.Windows.Forms.Cursor]::Position.X - $script:m_offset.X
$p.Y = [System.Windows.Forms.Cursor]::Position.Y - $script:m_offset.Y
$form1.Location = $p
}
})
#endregion Generated Form Code
#Save the initial state of the form
$InitialFormWindowState = $form1.WindowState
#Init the OnLoad event to correct the initial state of the form
$form1.add_Load($OnLoadForm_StateCorrection)
#Show the Form
$form1.ShowDialog()| Out-Null
} #End Function
GenerateForm