Box et position [Résolu]

Signaler
Messages postés
37
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
26 décembre 2010
-
Messages postés
37
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
26 décembre 2010
-
Bonjour,

Je travail sur une listview contenant 3 colonnes et lors d'un double clic sur une ligne,  je crée une box (numericUpDown / textBox / listBox) selon l'information.
Mon problème est le suivant, lorsque ma listview dépasse la taille de la fenêtre, une scroll horizontale apparait.
Donc lorsque je me déplace de gauche à droite, ma box aussi. y aurait t-il un moyen de garder la box au même endroit.

Deux image pour illustrer :
Sans le scroll ---/--- Avec le scroll (et un petit déplacement)

2 réponses

Messages postés
37
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
26 décembre 2010

J'ai trouvé:

Sujet:
"il faut ré-écrire une Listview. Mais de toutes facons, il semble que ce
soit la seule solution possible vu que ce controle n'existe pas dans les
listview par défaut."

En implémentant la listview du code fournis ici
on fait la gestion de la postion avec ces nouveaux events
this.HScrollChanged += new ScrollEventHandler(this.liste_HScrollChanged);
this.VScrollChanged += new ScrollEventHandler(this.liste_VScrollChanged);

le code des evenements:

void liste_VScrollChanged(object sender, ScrollEventArgs e)
{
   positionX = ...
   positionY= ...
   if (e.OldValue - e.NewValue > 0) // vers le haut
       editBox.Location = new System.Drawing.Point(positionX, positionY + e.NewValue);
   else // vers le bas
       editBox.Location = new System.Drawing.Point(positionX, positionY - e.NewValue);
}

void liste_HScrollChanged(object sender, ScrollEventArgs e)
{
   positionX = ...
   positionY= ...
   if(e.OldValue - e.NewValue > 0)// vers la gauche
      editBox.Location = new System.Drawing.Point(positionX + e.NewValue, positionY);
   else // vers la droite
      editBox.Location = new System.Drawing.Point(positionX - e.NewValue, positionY);
}
Messages postés
37
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
26 décembre 2010

Je rajoute, que c'est pareil pour les déplacement horizontaux, la box apparait donc hors champs