2011-08-08 4 views
1

Je veux faire quelque chose comme ça: J'ai forme avec des images, quand je clique sur celles-ci, je veux afficher une nouvelle fenêtre avec cette image (elle doit être seulement image, sans boîte à outils ou bordure). Poursuivant je veux être capable de déplacer cette fenêtre (quand j'appuie sur le bouton de la souris et déplace la souris, cette fenêtre doit bouger avec mon curseur, quand je ne bouge pas la fenêtre du bouton quand je bouge la souris).méthode pour déplacer la fenêtre

Je le fais comme ça: forme une nouvelle fenêtre, supprime barre d'outils, bordure, ajoute pictureBox, ajoute une méthode sur mouseDown, mouseUp et mouseMove. Code pour la méthode:

private void FormZdjecie_MouseDown(object sender, MouseEventArgs e) { 
     buttonUp = false; 
     previous = e.Location; 
    } 

    private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { 
     buttonUp = true; 
    } 

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { 
     if (!buttonUp) { 

      Point diff = new Point(); 
      diff.X = e.X - previous.X; 
      diff.Y = e.Y - previous.Y; 

      this.Location = new Point(this.Location.X + diff.X, this.Location.Y + diff.Y); 

      previous = e.Location; 
     } 
    } 

Je travaille, mais il rafraîchit très lentement. Comment cela fonctionne-t-il comme une forme de fenêtre (quand je déplace des fenêtres normales, ça a l'air bien), mais ma méthode a l'air mal; p Une idée de comment le faire?

Répondre

1

Vous devez utiliser le WinAPI. Voir here.

+0

merci, cela fonctionne. Je modifie mon message avec une question supplémentaire – nirmus

+0

S'il vous plaît poster une nouvelle question pour l'édition. –

+0

http://stackoverflow.com/questions/6981006/problems-with-moving-window c'est le lien pour la question maintenant – nirmus

Questions connexes