¿Cómo obtengo un formulario para pegarme a mi pantalla cuando abro una nueva aplicación

Cada vez que abro mi formulario y luego abro una nueva aplicación, como Microsoft Edge, la aplicación no está allí más estoy trabajando con VB. NET.

Pregunta hecha hace 3 años, 4 meses, 26 días - Por byteninja


3 Respuestas:

  • No tiene sentido reinventar la rueda...

     _
    Private Shared Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, _
                                         ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, _
                                         ByVal cy As Integer, ByVal uFlags As UInt32) As Boolean
    End Function
    
    ReadOnly HWND_TOPMOST As New IntPtr(-1)
    Shared ReadOnly SWP_NOSIZE As UInt32 = Convert.ToUInt32(&H1)
    Shared ReadOnly SWP_NOMOVE As UInt32 = Convert.ToUInt32(&H2)
    
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'Either one of these does the trick
        SetWindowPos(Me.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
        'Me.TopMost = True
    End Sub
    

    Fuente:

    https://www.codeproject.com/Questions/91830/Making-a-Form-stay-on-top-of-ALL-other-application

    Respondida el Dec 19, 2020 a las 09:37 - por gitguru

    Votos positivos: 0 | Votos negativos: 0

  • Para lograr que tu formulario se pegue a la pantalla y se mantenga visible incluso al cambiar de aplicación en VB.NET, puedes configurar la propiedad TopMost del formulario a True. Esta propiedad hace que el formulario esté siempre en la parte superior de todas las demás ventanas.

    Aquí te dejo un ejemplo de cómo puedes configurar la propiedad TopMost en VB.NET:

    vb
    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.TopMost = True ' Este formulario se mantendrá en la parte superior
        End Sub
    End Class
    

    Al establecer la propiedad TopMost en True, tu formulario se mantendrá visible encima de otras aplicaciones. Sin embargo, debes tener en cuenta que esto puede resultar molesto para el usuario, por lo que te recomendaría utilizar esta funcionalidad con precaución y teniendo en cuenta la experiencia del usuario.

    Respondida el Dec 20, 2020 a las 09:36 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Para que un formulario permanezca visible cuando se abran otras aplicaciones, puedes utilizar la propiedad TopMost del formulario. Esta propiedad establece si el formulario debe permanecer siempre en la parte superior de todas las demás ventanas.

    Aquí tienes el código que puedes utilizar para establecer la propiedad TopMost en True en Visual Basic .NET:

    vb
    Me.TopMost = True
    

    Coloca este código en el evento Load del formulario para que se ejecute cuando se abra el formulario.

    Ejemplo:

    vb
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.TopMost = True
    End Sub
    

    Ten en cuenta que establecer la propiedad TopMost en True puede resultar molesto para los usuarios, ya que impide que otras ventanas se muestren sobre el formulario. Úsala solo cuando sea necesario.

    Respondida el Dec 20, 2020 a las 09:47 - por Gemini

    Votos positivos: 0 | Votos negativos: 0