Я пишу элемент управления для C# (WinForms), и у меня есть одно свойство типа Collection.Как открыть модальное диалоговое окно управления двойным щелчком в C#
Когда пользователь выберет это свойство, откроется кнопка с «...» и откроется новое модальное диалоговое окно. Все это отлично работает, у меня есть создать:
public class ItemsEditor : UITypeEditor
В этом классе у меня есть метод коррекции EditValue и открытый редактор модальный с ShowDialog. Как я говорю, эта работа прекрасна.
Но, я хочу открыть это диалоговое окно, когда пользователь управления дважды щелкните по нему.
Для этого у меня есть наследует ControlDesigner:
public class MyControlDesigner : ControlDesigner
и в этом классе я унаследовать следующий метод:
public override void DoDefaultAction()
{
string propertyName = "Items";
IServiceProvider provider = (IServiceProvider)GetService(typeof(IServiceProvider));
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(MyControl);
PropertyDescriptor property = properties[propertyName];
UITypeEditor editor = (UITypeEditor)property.GetEditor(typeof(UITypeEditor));
editor.EditValue(provider, null);
}
Как видно, я поставил некоторый случайный код и, конечно, не работают.
Может кто-нибудь помочь мне, как это решить, и как открыть свойство на двойном щелчке.
Спасибо за помощь
С наилучшими пожеланиями Боян
Извините, но, пожалуйста, переформулируйте свой вопрос. Это очень трудно понять. – Kugel
Например: при двойном щелчке по элементу управления ListView необходимо открыть редактор столбцов. – Bojan