Я написал специальный редактор коллекций для элемента управления WinForms. Его основной код выглядит следующим образом:Установить позицию для пользовательской формы CollectionEditor в 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;
}
}
Мне нужно установить пользовательский размер и местоположение для формы редактирования коллекции, но я не мог найти способ сделать это. Кажется, что форма редактора коллекций всегда позиционируется VS по умолчанию. Есть ли способ сделать то, что мне нужно?
Не по теме, но так как вы настраиваете коллекции редактор, вы также можете найти это сообщение полезным: [Как включить значения по умолчанию для свойств в диалоговом окне «CollectionEditor»] (http://stackoverflow.com/questions/35517211/how-to-enable-default-values-for- диалог свойств-в-коллекционере) –
Я пытаюсь восстановить позицию формы, используя одно свойство, DesktopBounds, но размер всегда увеличивается с каждым присваиванием свойству DesktopBounds. Вы знаете, почему это происходит? – TecMan
@TecMan Вы также можете использовать 'SetDesktopBounds' без проблем, но сначала вы должны установить' StartPosition' в 'FormStartPosition.Manual'. –