Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Powershell Mousedown Event

Mitglied: SaschaRD

SaschaRD (Level 1) - Jetzt verbinden

03.06.2014 um 10:37 Uhr, 2349 Aufrufe, 2 Kommentare, 1 Danke

Hallo zusammen,

kennt jemand das Pendat zu diesem Code?:
01.
Private Sub Installer_MouseDown(sender As Object, e As MouseEventArgs) Handles MyBase.MouseDown 
02.
  If (e.Button = Windows.Forms.MouseButtons.Left) Then 
03.
    Me.Capture = False 
04.
    Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero)) 
05.
  Else : End If 
06.
End Sub
Suche dieselbe Funktion in Powershell (der o.g. Code ist VB).
01.
$mainForm_MouseDown = [System.Windows.Forms.MouseEventHandler] { 
02.
  if (condition) {	 
03.
  }
Soweit bin ich schon einmal =)

Mit dem VB-Code von oben kann man das Fenster bei einem Mousedown bewegen.

Gruß, Sascha
Mitglied: colinardo
LÖSUNG 03.06.2014, aktualisiert um 15:43 Uhr
Hallo Sascha,
kannst du so machen:
01.
$mainForm.add_MouseDown({ 
02.
  if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){ 
03.
        $script:mousedown = $true 
04.
        $script:m_offset = new-Object System.Drawing.Point 
05.
        $script:m_offset.X = $mainForm.PointToScreen($_.Location).X - $mainForm.Location.X 
06.
        $script:m_offset.Y = $mainForm.PointToScreen($_.Location).Y - $mainForm.Location.Y 
07.
08.
}) 
09.
$mainForm.add_MouseUp({ 
10.
  if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){ 
11.
        $script:mousedown = $false 
12.
13.
}) 
14.
 
15.
$mainForm.add_MouseMove({ 
16.
    if($script:mousedown){ 
17.
        $p = new-Object System.Drawing.Point 
18.
        $p.X = [System.Windows.Forms.Cursor]::Position.X - $script:m_offset.X 
19.
        $p.Y = [System.Windows.Forms.Cursor]::Position.Y - $script:m_offset.Y 
20.
        $mainForm.Location = $p 
21.
22.
})
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)

01.
function GenerateForm { 
02.
#region Import the Assemblies 
03.
[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null 
04.
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null 
05.
#endregion 
06.
 
07.
#region Generated Form Objects 
08.
$form1 = New-Object System.Windows.Forms.Form 
09.
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState 
10.
#endregion Generated Form Objects 
11.
 
12.
$OnLoadForm_StateCorrection= 
13.
{#Correct the initial state of the form to prevent the .Net maximized form issue 
14.
	$form1.WindowState = $InitialFormWindowState 
15.
16.
 
17.
#---------------------------------------------- 
18.
#region Generated Form Code 
19.
$System_Drawing_Size = New-Object System.Drawing.Size 
20.
$System_Drawing_Size.Height = 272 
21.
$System_Drawing_Size.Width = 292 
22.
$form1.ClientSize = $System_Drawing_Size 
23.
$form1.DataBindings.DefaultDataSourceUpdateMode = 0 
24.
$form1.Name = "form1" 
25.
$form1.Text = "Testform" 
26.
$form1.add_MouseDown({ 
27.
  if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){ 
28.
        $script:mousedown = $true 
29.
        $script:m_offset = new-Object System.Drawing.Point 
30.
        $script:m_offset.X = $form1.PointToScreen($_.Location).X - $form1.Location.X 
31.
        $script:m_offset.Y = $form1.PointToScreen($_.Location).Y - $form1.Location.Y 
32.
33.
}) 
34.
$form1.add_MouseUp({ 
35.
  if ($_.Button -eq [System.Windows.Forms.MouseButtons]::Left){ 
36.
        $script:mousedown = $false 
37.
38.
}) 
39.
 
40.
$form1.add_MouseMove({ 
41.
    if($script:mousedown){ 
42.
        $p = new-Object System.Drawing.Point 
43.
        $p.X = [System.Windows.Forms.Cursor]::Position.X - $script:m_offset.X 
44.
        $p.Y = [System.Windows.Forms.Cursor]::Position.Y - $script:m_offset.Y 
45.
        $form1.Location = $p 
46.
47.
}) 
48.
#endregion Generated Form Code 
49.
 
50.
#Save the initial state of the form 
51.
$InitialFormWindowState = $form1.WindowState 
52.
#Init the OnLoad event to correct the initial state of the form 
53.
$form1.add_Load($OnLoadForm_StateCorrection) 
54.
 
55.
 
56.
#Show the Form 
57.
$form1.ShowDialog()| Out-Null 
58.
 
59.
} #End Function 
60.
 
61.
GenerateForm
Grüße Uwe
Bitte warten ..
Mitglied: SaschaRD
03.06.2014 um 15:44 Uhr
Hallo Uwe,

auf einen Beitrag deinerseits habe ich gehofft =)

Dein Code funktioniert einwandfrei.

Vielen Dank und schönen Abend.

Gruß, Sascha
Bitte warten ..
Ähnliche Inhalte
Windows Server
Bei Event funktioniert das Powershell Script nicht richtig
gelöst Frage von canlotWindows Server14 Kommentare

Hallo liebe Community, ich habe hier ein Powershell Script geschrieben, dass bei der Erstellung eines User in einer OU ...

Batch & Shell
Powershell - Events mehrerer Server sammeln und in HTML darstellen
gelöst Frage von lexuraBatch & Shell1 Kommentar

Hallo, ich bin immer noch Neuling auf dem Gebiet Powershell. Als erste Aufgabe wollte ich mir ein Script schreiben, ...

Batch & Shell
Powershell-Abfrage "Die 10 meisten fehlgeschlagenen Events"
Frage von KMP1988Batch & Shell2 Kommentare

Servus zusammen, ich möchte per PowerShell das Fehlerprotokoll abfragen. Hierfür habe ich schon folgende Abfrage: get-eventlog -logname system Nun ...

Batch & Shell
Powershell: Form Window Event Minimize und Maximize
gelöst Frage von SaschaRDBatch & Shell5 Kommentare

Hallo zusammen, bin dabei eine Form mit einem Notification Icon im Tray zu verknüpfen, funktioniert soweit. Kann also über ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 27 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 7 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 11 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...