Estoy trabajando en la restauración de la aero snap funcionalidad en mi wpf c# app que se perdió cuando ajuste el tamaño para ninguno. Tengo un rectángulo en la parte superior de mi ventana de la que me agregue código para su evento mouseleftbuttondown.

Quiero comprobar si el ratón se ha movido cuando el rectángulo se hace clic para poder luego de maximizar la ventana de código.

La segunda parte de mi pregunta es ¿cómo puedo realizar un seguimiento de si el cursor está en la parte superior, lado izquierdo o derecho de la pantalla para que yo pueda ejecutar el código de la ventana para maximizar o alinear a la izquierda o a la derecha de la pantalla como aero snap.

Gracias,

InformationsquelleAutor internetmw | 2010-08-21

1 Comentario

  1. 4

    Para su primer tema, yo creo que tienes que hacerlo de la otra manera alrededor. Es decir, tienen un MouseMove controlador para comprobar si el botón izquierdo del ratón es hacia abajo y luego a hacer lo que usted necesita. Usted debe obtener una vista previa el botón izquierdo del ratón para hacer un seguimiento si y cuando se hace clic en el primer lugar.

    Buscar arrastrar y soltar tutoriales y ver cómo se inician los arrastra en busca de inspiración.


    Para el segundo problema, puede utilizar PointToScreen() junto con Mouse.GetPosition() para obtener la posición actual con respecto a la pantalla. A continuación, utilice esto para comparar contra el real de la pantalla de límites con el SystemParameters.PrimaryScreenWidth y SystemParameters.PrimaryScreenHeight propiedades.

    var pos = this.PointToScreen(Mouse.GetPosition(this)); //position relative to screen
    if (pos.X == 0) //on the left
        //...
    else if (pos.X == SystemParameters.PrimaryScreenWidth-1) //on the right (goes from 0 to (width-1))
        //...
    • Hice un evento mousemove del controlador de la cual se verifica si mouselftbutton es presionado pero el código nunca se ejecuta cuando hago clic y arrastre el rectángulo
    • También su punto de código de la pantalla sólo se ejecuta cuando el mousebutton se libera…
    • Supongo que tendrás que capturar el ratón así como también el uso Mouse.Capture(). Captura en haga clic en y uncapture en libertad. No puede ser más que solo esta en tu caso, pero el trabajo en general.

Dejar respuesta

Please enter your comment!
Please enter your name here