Как использовать одновременно

Стартовая страница Форумы Разработка и интеграция Как использовать одновременно

Просмотр 12 сообщений - с 1 по 12 (из 12 всего)
  • Автор
    Сообщения
  • #23363
    manjey73
    Участник

    свойства

    Собственно как одновременно использовать окно свойств и открывать дополнительные окна по нажатию кнопки «Свойства» при настройке опроса ? по типу окон в драйвере Modbus…

    • Эта тема была изменена 1 год, 10 месяцев назад от manjey73.
    • Эта тема была изменена 1 год, 10 месяцев назад от manjey73.
    #23371
    Mikhail
    Модератор

    Уточните, что должны настраивать дополнительные окна?
    Они нужны для редактирования тех свойств, которые выводятся в таблицу?

    #23376
    manjey73
    Участник

    Дополнительные окна для настройки шаблона. Повесил вызов окна Custom Parametrs из своего окна. Вроде работает, меняет заданные параметры.

    Но было бы разумнее при использовании встроенных возможностей окон вызывать их напрямую в настройках Опроса Устройства.

    В настройках есть кнопка Propirties, если мы используем только Custom Propirties то нормально, если мы используем полностью свое окно, тоже нормально.

    А если нужно и то и другое? почему бы каким-то параметром не добавлять кнопку и одной вызывать Custom, а другой свое окно ?

    #23381
    Mikhail
    Модератор

    По идее, таблица свойств умеет показывать доступные команды, как описано здесь.
    Для этого в редактируемом объекте должен быть объявлен метод

    [Browsable(true)]
    public void TestMethod()
    {
    	MessageBox.Show("TestMethod invoked");
    }

    Попробуйте, будет работать?

    #23382
    manjey73
    Участник
            /// <summary>
            /// Shows a modal dialog box for editing device properties.
            /// </summary>
            public override bool ShowProperties()
            {
                TesterOptions options = new(DeviceConfig.PollingOptions.CustomOptions);
                FrmOptions frmOptions = new() { Options = options };
    
                if (frmOptions.ShowDialog() == DialogResult.OK)
                {
                    options.AddToOptionList(DeviceConfig.PollingOptions.CustomOptions);
                    return true;
                }
                else
                {
                    return false;
                }

    Не очень понимаю, куда тут вставлять
    [Browsable(true)] в DevXXXView чтобы на этом окне появился TestMetod
    Или это необходимо делать не в Dev ?
    Собственно при этом еще необходимо вызвать Окно новое, в котором будут необходимые настройки

    • Этот ответ был изменен 1 год, 10 месяцев назад от manjey73.
    #23384
    Romiros
    Участник

    Создайте полностью свою форму редактирования драйвера и не мучайте эту форму :).
    Эту оставьте для максимально простых «плоских» конфигураций драйверов, где свойства будут в виде списка строк и не имеет смысла создавать отдельный xml файл.

    #23385
    manjey73
    Участник

    @romiros не, кроме своей формы мне нужны эти поля в Custom Parameters. Например для указания паролей счетчиков.

    Раньше я использовал Пользовательские параметры, где хранится TransMode у Modbus драйвера.
    Теперь данное поле для этих целей лучше.

    На данный момент я в своем окне добавил кнопку и вызываю эти свойства по кнопке, работает… Просто думал есть механизм проще…

    з.ы. Создавая данный механизм с Параметрами Опроса надо было делать не Или/Или а Или/И

    #23386
    Romiros
    Участник

    А какой смысл использовать данные поля, если Вы всё равно делаете дополнительный конфиг. Поместите пароли в него. Или у Вас весь конфиг сохранится в эти CustomOptions?

    Пользовательские параметры раньше были только для линии связи, теперь появились для драйвера, что значительно расширило возможности и как писал ранее для простых драйверов можно не тратить время на разработку пользовательского интерфейса драйвера.

    #23387
    manjey73
    Участник

    Ну когда несколько счетчиков, то лепить пароль в файле шаблона как-то не совсем кошерно. Из этих соображений. Шаблон шаблоном, но если пароли делаем разные, то плодить из-за этого шаблоны не очень удобно.

    Думаю вот еще пароли шифровать, но пока по простому…

    К сожалению в Параметры шаблона списки не запихнешь, там просто словарь ключ — значение.

    #23388
    Romiros
    Участник

    К сожалению в Параметры шаблона списки не запихнешь, там просто словарь ключ — значение.
    О том и речь.

    Готовые функции шифрования есть в скаде. Не помню точно в каком классе, где-нибудь в утилс поищите.

    #23389
    manjey73
    Участник

    Ну вот по этому и Свое окно + Custom вызываю по кнопке. Вполне подойдет.
    Но если бы Михаил подумал, что можно применять и то и то, то было бы немного лучше, не надо было бы вызывать одно окно, чтобы вызвать другое.

    #23392
    Mikhail
    Модератор

    Не очень понимаю, куда тут вставлять
    [Browsable(true)]

    Метод нужно добавить в свой класс опций, который передаётся в PropertyGrid на редактирование.

    Две кнопки свойств делать неудобно.
    Если решите хранить конфигурацию в файле, то была разработана универсальная форма для более сложных конфигураций. Она используется в драйверах MQTT, ссылка. Чтобы использовать эту форму, классы конфигурации нужно определённым образом подготовить.

Просмотр 12 сообщений - с 1 по 12 (из 12 всего)
  • Вы должны авторизироваться для ответа в этой теме.