powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / PropertyGrid свойство типа NumericUpDown
6 сообщений из 6, страница 1 из 1
PropertyGrid свойство типа NumericUpDown
    #39382693
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу чтобы для числовых значений в PropertyGrid отображался NumericUpDown
нашел такой код, с которым вроде и работает, но не так как хочется
NumericUpDown отображается, но только не сразу у свойства а после появления выпадающего списка.

А как сделать чтобы NumericUpDown заработал без выпадающего списка
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
public class NumericUpDownTypeEditor : UITypeEditor
   {
      public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
      {
         if (context == null || context.Instance == null)
            return base.GetEditStyle(context);
         return context.PropertyDescriptor.IsReadOnly ? UITypeEditorEditStyle.None : UITypeEditorEditStyle.DropDown;
      }

      public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
      {
         try
         {
            if (context == null || context.Instance == null || provider == null)
               return value;
            
            //use IWindowsFormsEditorService object to display a control in the dropdown area  
            IWindowsFormsEditorService frmsvr = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
            if (frmsvr == null)
               return value;

           
            if (attr != null)
            {
               NumericUpDown nmr = new NumericUpDown();
               frmsvr.DropDownControl(nmr);
               context.OnComponentChanged();
               return Convert.ChangeType(nmr.Value, context.PropertyDescriptor.PropertyType);
            }
         }
         catch { }
         return value;
      }
   }

...
Рейтинг: 0 / 0
PropertyGrid свойство типа NumericUpDown
    #39383707
Rocketeer88888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оффтоп:
господи, сколько проблем можно решить, просто перейдя на WPF! Кто, ну кто заставляет людей нынче начинать новые проекты на формах?!


Вроде, можно хостить WPF-элементы на формах и наоборот. По-моему, иногда проще воспользоваться таким вот хостом, где в WPF-контроле воспользоваться удобными шаблонами данных, чем пытаться найти какие-то компоненты или городить воркэраунды на чистых винформах. https://msdn.microsoft.com/en-us/library/ms742215(v=vs.110).aspx
...
Рейтинг: 0 / 0
PropertyGrid свойство типа NumericUpDown
    #39383708
Rocketeer88888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однако, сам я до шаблонов данных в хостящемся контроле не доходил - максимум, просто лейблы с удобными надстрочными и подстрочными надписями хостил из WPF в WinForms. Но думаю, что проблем особых быть не должно.
...
Рейтинг: 0 / 0
PropertyGrid свойство типа NumericUpDown
    #39391195
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rocketeer88888Оффтоп:
господи, сколько проблем можно решить, просто перейдя на WPF! Кто, ну кто заставляет людей нынче начинать новые проекты на формах?!


Вроде, можно хостить WPF-элементы на формах и наоборот. По-моему, иногда проще воспользоваться таким вот хостом, где в WPF-контроле воспользоваться удобными шаблонами данных, чем пытаться найти какие-то компоненты или городить воркэраунды на чистых винформах. https://msdn.microsoft.com/en-us/library/ms742215(v=vs.110).aspx

а где написано, что это новый прожект?

Я понимаю ТС, сам такой, есть случаи, когда в существующий прожект надо добавить какие-то новые формы, вот и имеем.
...
Рейтинг: 0 / 0
PropertyGrid свойство типа NumericUpDown
    #39391271
Rocketeer88888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинRocketeer88888Оффтоп:
господи, сколько проблем можно решить, просто перейдя на WPF! Кто, ну кто заставляет людей нынче начинать новые проекты на формах?!


Вроде, можно хостить WPF-элементы на формах и наоборот. По-моему, иногда проще воспользоваться таким вот хостом, где в WPF-контроле воспользоваться удобными шаблонами данных, чем пытаться найти какие-то компоненты или городить воркэраунды на чистых винформах. https://msdn.microsoft.com/en-us/library/ms742215(v=vs.110).aspx

а где написано, что это новый прожект?

Я понимаю ТС, сам такой, есть случаи, когда в существующий прожект надо добавить какие-то новые формы, вот и имеем.
Тогда хости:
https://msdn.microsoft.com/en-us/library/ms742215(v=vs.110).aspx#Implementing the Windows Forms Host Application
https://msdn.microsoft.com/en-us/library/system.windows.forms.integration.elementhost(v=vs.110).aspx
...
Рейтинг: 0 / 0
PropertyGrid свойство типа NumericUpDown
    #39391325
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rocketeer88888Ролг Хупинпропущено...


а где написано, что это новый прожект?

Я понимаю ТС, сам такой, есть случаи, когда в существующий прожект надо добавить какие-то новые формы, вот и имеем.
Тогда хости:
https://msdn.microsoft.com/en-us/library/ms742215(v=vs.110).aspx#Implementing the Windows Forms Host Application
https://msdn.microsoft.com/en-us/library/system.windows.forms.integration.elementhost(v=vs.110).aspx

это как вариант, но, снова: если речь идет о том. чтобы приклепать пропертигрид в существующее винформс приложение, то нет смысла хостить и скрещивать, проще сделать за несколько часов этот грид, и если надо изменить свойства нумерик контрола.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / PropertyGrid свойство типа NumericUpDown
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]