Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Графическое представление сложносоставного объекта. / 20 сообщений из 20, страница 1 из 1
06.12.2016, 10:32
    #39361042
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
Работаю в Windows Forms.
Есть клас который включает в себя массивы других классов.
Код: 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.
class UserTask
    {
        int StartToken { get; set; }
        int Id { get; set; }
        int State { get; set; }
        int DayMask { get; set; }
        int InParamCount { get; set; }
        int OutParamCount { get; set; }
        int GroupCount { get; set; }

        InputParam[] InParams = new InputParam[10];
        OutputParam[] OutParam = new OutputParam[10];
    }

    class InputParam
    {
    }

    class OutputParam
    {
    }

    .....................................

   List<UserTask> tasks;


Как бы это красиво представить на форме? Чтоб пользователю было удобно работать с членами класа.
...
Рейтинг: 0 / 0
06.12.2016, 10:56
    #39361063
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
jenya7Как бы это красиво представить на форме?классы OutputParam и InputParam не содержат членов, следовательно представлять их надо..... пустым местом
...
Рейтинг: 0 / 0
06.12.2016, 11:44
    #39361094
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
Shocker.Pro,
Ну почему же? У InParams например может быть значимым Count.
А так хидер и два грида.
Есть еще такая замечательная мутатень из коробки PropertyGrid
...
Рейтинг: 0 / 0
06.12.2016, 11:48
    #39361097
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
Shocker.Projenya7Как бы это красиво представить на форме?классы OutputParam и InputParam не содержат членов, следовательно представлять их надо..... пустым местом

я думал, что это вполне понятно, что я не стал приводить классы с десятками строк. оказывается элементарные вещи не для всех элементарны.
...
Рейтинг: 0 / 0
06.12.2016, 11:51
    #39361104
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
ЕвгенийВShocker.Pro,
Ну почему же? У InParams например может быть значимым Count.
А так хидер и два грида.
Есть еще такая замечательная мутатень из коробки PropertyGrid
это интересно. никогда не пользовался. надо посмотреть что за зверь такой.
...
Рейтинг: 0 / 0
06.12.2016, 12:04
    #39361110
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
jenya7я думал, что это вполне понятно, что я не стал приводить классы с десятками строк. оказывается элементарные вещи не для всех элементарны.Так варианты отображения зависит как раз от содержимого, а его-то вы как раз решили и не приводить.
...
Рейтинг: 0 / 0
06.12.2016, 12:25
    #39361124
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
Shocker.Projenya7я думал, что это вполне понятно, что я не стал приводить классы с десятками строк. оказывается элементарные вещи не для всех элементарны.Так варианты отображения зависит как раз от содержимого, а его-то вы как раз решили и не приводить.
там тоже будет несколько членов
Код: 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.
public class UserTask
    {
        public int StartToken { get; set; }
        public int Id { get; set; }
        public int State { get; set; }
        public int DayMask { get; set; }
        public int InParamCount { get; set; }
        public int OutParamCount { get; set; }
        public int GroupCount { get; set; }

        public InputParam[] InParams = new InputParam[10];
        public OutputParam[] OutParam = new OutputParam[10];
    }

    public class InputParam
    {
        public int type;
        public int logic;
        public int value;
        public int compare;
        public int limit;
    }

    public class OutputParam
    {
        public int type;
        public int output;
        public int value;
    }
...
Рейтинг: 0 / 0
06.12.2016, 12:27
    #39361126
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
PropertyGrid представляет класс и наверное сохраняет изменения. как вариант он неплох.
...
Рейтинг: 0 / 0
06.12.2016, 12:47
    #39361141
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
не очень понятно как но наверняка есть возможность не показывать некоторые свойства и функции класса.
...
Рейтинг: 0 / 0
06.12.2016, 13:16
    #39361162
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
jenya7PropertyGrid представляет класс и наверное сохраняет изменения. как вариант он неплох.
https://msdn.microsoft.com/ru-ru/library/system.componentmodel.browsableattribute.browsable(v=vs.110).aspx
...
Рейтинг: 0 / 0
06.12.2016, 13:19
    #39361165
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
ЕвгенийВjenya7PropertyGrid представляет класс и наверное сохраняет изменения. как вариант он неплох.
https://msdn.microsoft.com/ru-ru/library/system.componentmodel.browsableattribute.browsable(v=vs.110).aspx
спасибо.
...
Рейтинг: 0 / 0
06.12.2016, 15:05
    #39361268
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
ну делать можно так: есть базовый класс InputParam, это модель (не объект View), наследуйте его для текстовых, числовых и т.д. параметров.

Затем на форме в цикле в зависимости от типа элемента в списке создаете View объекты (TextBox, Slider, NumberBox, PasswordBox или другие) и связывайте их с объектом параметра.
В чем собственно проблема?
В WinForms есть еще замечательный контрол property grid, для таких целей подходит очень хорошо. нужно будет только слегка переработать параметры
...
Рейтинг: 0 / 0
06.12.2016, 16:37
    #39361364
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
Roman Mejtesну делать можно так: есть базовый класс InputParam, это модель (не объект View), наследуйте его для текстовых, числовых и т.д. параметров.

Затем на форме в цикле в зависимости от типа элемента в списке создаете View объекты (TextBox, Slider, NumberBox, PasswordBox или другие) и связывайте их с объектом параметра.
В чем собственно проблема?
В WinForms есть еще замечательный контрол property grid, для таких целей подходит очень хорошо. нужно будет только слегка переработать параметры
так грид покажет мне базовый объект - UserTask. а как представить массив InputParam который он включает. и это все надо редактировать.
...
Рейтинг: 0 / 0
06.12.2016, 16:39
    #39361367
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
в гриде строка это запись. там вроде Tree не организовать.
...
Рейтинг: 0 / 0
07.12.2016, 14:14
    #39361820
ARKss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
ЕвгенийВShocker.Pro,
Ну почему же? У InParams например может быть значимым Count.
А так хидер и два грида.
Есть еще такая замечательная мутатень из коробки PropertyGrid
Или можно сделать всплывающее (диалоговое) окно по клику на каждый объект такого класса - там и будут его свойства все. Ну или не окно, а типа области просмотра в стороне от списка этих Param.

Ну и, конечно, надо продумывать представление объектов в интерфейсе. На двухмерном интерфейсе максимум двухмерную вложенность можно показать - т. е. свойства свойств. Если у вас третья ступень вложенности - свойства свойств свойств, то либо третье измерение, либо отдельные окна или области для просмотра. Если четвёртый уровень вложенности - уже в этой отдельной области надо двухмерный просмотрщик свойств делать (таблица, например). Ну и т. д.

Нет универсального удобного способа показать вам всю иерархию всех свойств сколь угодно сложно составленного объекта.
...
Рейтинг: 0 / 0
07.12.2016, 16:49
    #39361997
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
я думал грид для главных элементов + PropetyGrid для суб-элементов который я заполняю по клику на главный элемент будет самое то. но пользователь должен видеть список всех главных элементов и все их суб-элементы.
редактируемый список с элементами TreeView было бы самое то. но такого нет в стардантном наборе.
...
Рейтинг: 0 / 0
07.12.2016, 22:02
    #39362159
ARKss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
jenya7я думал грид для главных элементов + PropetyGrid для суб-элементов который я заполняю по клику на главный элемент будет самое то. но пользователь должен видеть список всех главных элементов и все их суб-элементы.
редактируемый список с элементами TreeView было бы самое то. но такого нет в стардантном наборе.
Сразу и одновременно? А смысл? Всё равно на экран всё не влезет. Вам в любом случае придётся либо скроллить уже развёрнутую структуру, либо разворачивать узлы дерева, либо вызывать диалоговое окно с гридом - это всё суть одно и то же. Самое удобное, на мой взгляд - отдельно окно со свойствами или область просмотра этих свойств.

Можете вместо дерева сделать несколько столбцов - в каждом следующем будут отображаться свойства выбранного объекта из предыдущего столбца. Так некоторые файловые менеджеры делают:

YouTube Video
...
Рейтинг: 0 / 0
07.12.2016, 22:04
    #39362160
ARKss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
По сути, это дерево, только горизонтальное.
...
Рейтинг: 0 / 0
07.12.2016, 22:15
    #39362165
ARKss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
Ну вот, что-то типа колоночного представления
...
Рейтинг: 0 / 0
08.12.2016, 10:18
    #39362306
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графическое представление сложносоставного объекта.
ARKssНу вот, что-то типа колоночного представления
это интересно. попробую так. спасибо.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Графическое представление сложносоставного объекта. / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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