Heute zeigen wir Ihnen, wie sich verhindern lässt, dass eine Form durch den Benutzer aus den sichtbaren Bildschirmbereich hinaus verschoben werden kann. ' Beispiel: VB .Net ' Form - Verschieben ueber den Bildschirm hinaus verhindern ' Hinweis : Die Taskleiste wird nicht beruecksichtigt. ' D.h. verschoben wird hinter die Taskleiste Option Explicit On Option Strict On Imports System.Runtime.InteropServices Public Class Form1 Private Structure Rectangle Public Left As Int32 Public Top As Int32 Public Right As Int32 Public Bottom As Int32 Public ReadOnly Property Width() As Integer Get Return Right - Left End Get End Property Public ReadOnly Property Height() As Integer Get Return Bottom - Top End Get End Property End Structure Private Sub MemoryBlock( _ ByVal rect As Object, _ ByVal msg As System.IntPtr, _ Optional ByVal Destroy As Boolean = True) System.Runtime.InteropServices.Marshal.StructureToPtr(rect, msg, Destroy) End Sub ' Windows-Message Private Const WM_MOVING As Int32 = &H216 ' Fenster-Nachricht abfangen und reagieren Protected Overrides Sub WndProc(ByRef msg As System.Windows.Forms.Message) If msg.Msg = WM_MOVING Then Dim rect As Rectangle = DirectCast(Marshal.PtrToStructure( _ msg.LParam, GetType(Rectangle)), Rectangle) With rect If .Left < Screen.PrimaryScreen.Bounds.Left Then Dim Width As Integer = .Width .Left = 0 .Right = Width MemoryBlock(rect, msg.LParam) ElseIf .Top < Screen.PrimaryScreen.Bounds.Top Then Dim Height As Integer = .Height .Top = 0 .Bottom = Height MemoryBlock(rect, msg.LParam) ElseIf .Right > Screen.PrimaryScreen.Bounds.Right Then Dim Width As Integer = .Width .Right = Screen.PrimaryScreen.Bounds.Right .Left = .Right - Width MemoryBlock(rect, msg.LParam) ElseIf .Bottom > Screen.PrimaryScreen.Bounds.Bottom Then Dim Height As Integer = .Height .Bottom = Screen.PrimaryScreen.Bounds.Bottom .Top = .Bottom - Height MemoryBlock(rect, msg.LParam) End If End With End If MyBase.WndProc(msg) End Sub End Class Dieser Tipp wurde bereits 8.780 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |