vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
fenster ganz unten 
Autor: mikeb69
Datum: 16.04.07 17:52

hallo,

durch hilfe aus dem internet und hier im forum, hab ich diesen code gebastelt, der ein fenster immer ganz unten auf dem desktop halten soll.
wenn ich in meinem programm nur eine form platziere ist diese automatisch unten (unterstes aller fenster).
ruft mein programm jedoch mehrere dieser forms auf, liegen diese über allen fenstern und lassen sich erst durch ein anklicken nach unten bringen.

frage:
wie muss ich den code verändern, um 1-x fenster immer sofort unten zu haben.

hier nun der code von myform.vb
Public Class myForm
    Inherits System.Windows.Forms.Form
 
    Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As _
      IntPtr, ByVal hWndInsertAfter As Int32, ByVal x As Int32, ByVal y As _
      Int32, ByVal cx As Int32, ByVal cy As Int32, ByVal wFlags As Int32) As _
      Int32
 
    Private Const SWP_NOMOVE As Int32 = &H2
    Private Const SWP_NOSIZE As Int32 = &H1
    Private Const HWND_TOPMOST = -1      'bringt ein fenster an die oberste 
    ' stelle
    Private Const HWND_NOTOPMOST = -2    'bringt ein fenster an die unterste 
    ' stelle eines containers
    Private Const HWND_BOTTOM = 1        'bringt ein fenster an die unterste 
    ' position aller fenster
 
    Private Const WS_EX_TOOLWINDOW As Int32 = &H80
    Private Const WS_EX_APPWINDOW As Int32 = &H40000
 
    Protected Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = (cp.ExStyle Or CType(WS_EX_TOOLWINDOW, Integer))
            cp.ExStyle = (cp.ExStyle - CType(WS_EX_APPWINDOW, Integer))
            Return cp
        End Get
    End Property
 
    Private Sub InitializeComponent()
        Me.SuspendLayout()
        Me.ClientSize = New System.Drawing.Size(300, 300)
        Me.Name = "myForm"
        Me.ResumeLayout(False)
    End Sub
 
    Private Sub myForm_Load(ByVal sender As Object, ByVal e As _
      System.EventArgs) Handles Me.Load
        'diese einstellungen sind zwingend notwendig
        'this settings are nessesary
        Me.ShowIcon = True
        Me.ShowInTaskbar = True
        Me.Text = Nothing
    End Sub
 
    Private Sub myForm_MouseDown(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
        SetWindowPos(Me.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE Or _
        SWP_NOSIZE)
    End Sub
 
    Private Sub myForm_Paint(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        SetWindowPos(Me.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE Or _
        SWP_NOSIZE)
    End Sub
End Class
und so werden die fenster inizialisiert
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles MyBase.Load
....
For i As Integer = 0 To x
            myForms.Add(New myForm)
            myShadows(i).FormBorderStyle = Windows.Forms.FormBorderStyle.None
            ...
            myForms(i).StartPosition = FormStartPosition.Manual
            myForms(i).Location = Location
            myForms(i).Size = Size
            myShadows(i).StartPosition = FormStartPosition.Manual
            myShadows(i).Location = Location
            myShadows(i).Size = Size
Next i
...
End Sub
und irgendwann zum anzeigen
myForms(i).Show()
myShadows(i).Show(myForms(i))
danke

mikeb69
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
fenster ganz unten947mikeb6916.04.07 17:52

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel