2010-08-10 3 views
1

Je me demandais comment ajouter .customString à l'objet PictureBox.
Quelque chose comme:C# Ajouter une option de plus à PictureBox

PictureBox box = new PictureBox(); 
box.CustomString = "string here"; 

Et puis plus tard je serais accéder.

MessageBox.Show(boxname.CustomString); 

Merci.

Répondre

3

Si vous souhaitez ajouter une propriété à un contrôle existant de la meilleure façon serait être en train de dériver MyCustomPictureBox de PictureBox et d'ajouter la nouvelle propriété à votre version dérivée:

public class MyCustomPictureBox : PictureBox 
{ 

    public string CustomString {get; set;} 

} 
+0

Merci. Cela a aidé. – Semas

3

La meilleure façon de le faire est d'utiliser la Tag propriété:

PictureBox box = new PictureBox(); 
box.Tag = "string here"; 

Et, plus tard:

MessageBox.Show((string)box.Tag); 
0
public class MyPictureBox : PictureBox 
{ 
    public MyPictureBox(...) :base(....) {} // duplicated ctors 

    public string CustomString {get; set;} 
} 

Maintenant, l'utiliser sera un peu plus compliqué. Si vous avez créé l'image originale en la faisant glisser dans le concepteur de Winforms, vous devrez aller dans le fichier myform.designer.cs et remplacer les instances de "PictureBox" par "MyPictureBox"

0

Vous pouvez créer une nouvelle classe appelée MyPictureBox qui dérive de PictureBox. Dans la nouvelle classe, vous pouvez ajouter votre propriété personnalisée. Quelque chose comme ci-dessous.

public class MyPictureBox : PictureBox 
{ 
    public MyPictureBox():base() 
    {} 

    public string CustomString 
    { 
    get{} 
    set{} 
    } 
} 

vous pouvez maintenant utiliser la nouvelle classe comme vous le feriez la seule différence PictureBox est le vôtre a la propriété personnalisée/logique.

Profitez-en!

Questions connexes