Ich schrieb einen benutzerdefinierten Sammlungseditor für ein WinForms-Steuerelement. Sein Kern-Code sieht wie folgt aus:Festlegen der Position für benutzerdefinierte CollectionEditor-Formular in WinForms
internal class MyCollectionEditor : CollectionEditor
{
public MyCollectionEditor(Type type) : base(type) { }
protected override System.ComponentModel.Design.CollectionEditor.CollectionForm CreateCollectionForm()
{
System.ComponentModel.Design.CollectionEditor.CollectionForm myForm = base.CreateCollectionForm();
#region Adjust the property grid
PropertyGrid myPropGrid = GetPropertyGrid(myForm);
if (myPropGrid != null)
{
myPropGrid.CommandsVisibleIfAvailable = true;
myPropGrid.HelpVisible = true;
myPropGrid.PropertySort = PropertySort.CategorizedAlphabetical;
}
#endregion
return myForm;
}
}
Ich brauche eine eigene Größe und Position für die Sammlung Editor Form zu setzen, aber ich konnte nicht einen Weg, das zu tun finden. Es scheint, dass das Sammlungs-Editor-Formular immer von VS an seinen Standardspeicherort positioniert wird. Gibt es eine Möglichkeit, das zu tun, was ich brauche?
Off-topic, aber da Sie Sammlung sind Customizing Editor, möglicherweise finden Sie auch diesen Beitrag hilfreich: [Wie Standardwerte für Eigenschaften in einem 'CollectionEditor' -Dialog aktivieren] (http://stackoverflow.com/questions/35517211/how-to-enable-default-values-for-for-for- Eigenschaften-in-einer-Sammlung-Editor-Dialog) –
Ich versuche, die Formularposition mit einer Eigenschaft, DesktopBounds, wiederherzustellen, aber die for-Größe wird immer mit jeder Zuweisung der DesktopBounds-Eigenschaft erhöht. Weißt du, warum das passiert? – TecMan
@TecMan Sie können 'SetDesktopBounds' auch ohne Probleme verwenden, aber Sie sollten' StartPosition' zuerst auf 'FormStartPosition.Manual' setzen. –