2017-02-25 5 views
0

Ich habe ein Benutzersteuerelement in einer Windows Forms-Anwendung, die einige Magie tun wird, wenn ich auf seine Schaltfläche abhängig von einigen Informationen aus einem Objekt, das ich es zur Entwurfszeit geben . Ich möchte ein Array mit Objekten in dieser Klasse (UserControl) und ich möchte das .name-Feld dieser Klassen als eine Liste im Eigenschaftenfenster im Designer angezeigt werden.Ein Array von Objekten als eine Eigenschaft für ein Benutzersteuerelement

static class AllThings 
{ 
    static OneThing blah; 
    static OneThing hurr; 
    static OneThing durr; 

    static AllThings() 
    { 
     blah = new OneThing("name"); 
     hurr = new OneThing("name"); 
     durr = new OneThing("name"); 
    } 

Also, wenn ich dieses Array

OneThing[] arrayOfAllThings = 
{ 
    blah, 
    hurr, 
    durr 
}; 

Gibt es eine Möglichkeit, dies zu tun, dass ich eine Liste aller OneThing-Objekte sehen und in der Lage auf einer klicken, um eine Variable zu setzen zu dieser Instanz?

+0

Web? WPF? Winforms? – ATC

+0

@ATC Winforms –

Antwort

0

Ja, gibt es. Visual Studio wird automatisch Array-Eigenschaften für Sie behandeln. Hier

ist ein Test, den ich gemacht habe:

Hier ist die OneThing Klasse:

public class OneThing 
{ 
    public string Name { get; set; } 

    public override string ToString() 
    { 
     return Name; 
    } 
} 

Hier ist der Code des Usercontrol (ohne den Designer-Code, aber das ist nur aus der Box .. .)

public partial class UserControl2 : UserControl 
{ 
    public UserControl2() 
    { 
     InitializeComponent(); 
    } 

    public OneThing[] Items { get; set; } 
} 

Hier ist, wie es wie beim Entwurf aussieht:

enter image description here

enter image description here

enter image description here

Verwandte Themen