Zitat von
Luckie:
Glaub mir, Mathias würde nicht fragen, wenn er sich nicht schon durch die Hilfe gewühlt hätte.
Aber wohl nicht genau genug.
Suche mal nach
- BrowseableAttribute
- UITypeEditor
- EditorAttribute
- DefaultPropertyAttribute
- DefaultValueAttribute
Es müssen auch gar keine Component-Ableitungen sein, die man sich in sein PropertyGrid holt.
Du kannst irgendeine (
) Instanz da randocken und schon kann man alle Properties im Grid editieren (natürlich nur, wenn sie nicht mit [Browsable(false)] versehen sind
Nett sind zum Beispiel Ableitungen des FileNameEditors um nur spezielle Dateien im Filter zu haben:
Code:
using System.ComponentModel;
using System.Drawing.Design; //befindet sich in System.Drawing.dll !
using System.Windows.Forms;
using System.Windows.Forms.Design; //befindet sich in System.Design.dll !
namespace SomeClasses
{
public class CSharpFileNameEditor : FileNameEditor
{
protected override void InitializeDialog(OpenFileDialog openFileDialog)
{
openFileDialog.Filter = "all code files|*.cs;*.aspx;*.aspx.cs|all files|*.*";
openFileDialog.FilterIndex = 0;
//base.InitializeDialog(openFileDialog); Der muss natürlich weg *g* tss.... immer diese Autocompletion....
}
}
public class SampleClass
{
string fileName;
[Editor(typeof (CSharpFileNameEditor),
typeof (UITypeEditor))]
public string FileName
{
get { return fileName; }
set { fileName = value; }
}
}
}