Question

Dans mon projet .NET 2.0, je fait une classe dérivée vide de System.Windows.Forms.PictureBox:

public class NewPictureBox : PictureBox
{
    //absolutely nothing 
}

Alors je l'ai fait ce qui suit:

  1. définir à la fois la propriété de commande dérivé et Image de la commande de base à une image assez grande (800x600), SizeMode est Normal (seule la partie supérieure gauche est affichée);
  2. accroché plusieurs des événements pour de l'NewPictureBox et PictureBox si une boîte de sélection peut être tiré lors du déplacement de la souris sur la surface;
  3. le configurer de sorte des propriétés de la zone de sélection (Width / Height) seront mis à jour sur les contrôles de NumericUpDown en temps réel.

Le problème est lorsque vous faites glisser la souris sur le réel rapide PB dérivé, il est considérable « clapotis » par rapport à faire la même chose sur la base PB. Les Width / valeurs Height ne sont pas mis à jour en temps réel.

Quelqu'un sait-il pourquoi est-il comme ça? Comment puis-je obtenir la même finesse avec le contrôle dérivé? Merci!

Pour toute personne qui souhaite vérifier le projet minimal de l'échantillon avec le problème décrit:

http://www.mediafire.com/?i2nq2tmmjzx

Était-ce utile?

La solution

Obtenir une image redimensionnée par PB pour adapter la commande est très cher. GDI + a un très bon filtre, mais il ne vient pas gratuitement. Redimensionner l'image vous avant de l'assigner à la propriété d'image de sorte que le PB n'a pas à le redimensionner.

L'utilisation d'un bitmap créé avec Format32bppPArgb peut faire un gros différence aussi, il est 10 fois plus rapide que tout autre format.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top