2009-03-03 7 views
0

Ich erstelle ein benutzerdefiniertes Benutzersteuerelement. Eine der Eigenschaften muss dem Endbenutzer erlauben, den numerischen Datentyp wie int, short, long, double ... auszuwählen.Benutzerdefiniertes Steuerelement mit Datentypeigenschaft Problem

Ich habe ein Problem herauszufinden, was als interner Eigenschaftstyp zu verwenden, so Wenn der Benutzer die DataType-Option im Eigenschaftsfeld auswählt, erhält er eine Dropdown-Liste aller numerischen Typen.

Ich habe ein paar Varianzen ausprobiert ... Wenn unten kompiliert wird, wird die DataType-Eigenschaft als ausgegraut angezeigt. Es erlaubt mir nicht zu wählen oder geben Sie einen Wert ein.

private System.ValueType _DataType; 
    public System.ValueType DataType 
    { 

     get { return _DataType; } 
     set 
     { 

      _DataType = value; 
     } 
    } 

Jede Hilfe wird geschätzt. Danke!

Antwort

0

Der Eigenschaftseditor hat keine Ahnung, wie der Typ bearbeitet wird. Der einfachste Weg, dies zu beheben, ist, einen Typ zu verwenden, den es zu bearbeiten weiß, wie eine Zeichenkette oder eine Enumeration. Enum passt wahrscheinlich am besten zu dem, was Sie erreichen möchten.

+0

Ich würde lieber eine enum nicht verwenden, vor allem da die numerischen Datentypen ein Systemstuct sind. Auch die enums möchten keine reservierten Wörter in ihnen haben. Sie müssen eine Möglichkeit sein, dies leicht zu erreichen. – Rick

+0

Ich würde es nicht einfach nennen, aber Sie können einen benutzerdefinierten Editor für einen benutzerdefinierten Typ in einem propertygird erstellen. http://msdn.microsoft.com/en-us/library/ms171840.aspx zeigt, wie es gemacht wird. – DefLog

0

Ich endete mit einem Enum - ich denke, dass ihre sollte eine bessere Antwort als das sein. Dieselbe Funktionalität wird beim Entwerfen von Datasets im Designer gefunden. Wenn Sie den Datentyp auswählen, können Sie int und andere auswählen.