Страница 1 из 1
Работа со словарем в StiDesignerControl...
Добавлено: 30 окт 2007, 04:34
Stilux
Подскажите пожалуйста, как заблокировать для пользователя
возможность редактирования словаря?
В конфигурации все соответствующие кнопки и пункты меню я убрал,
но осталась реакция на DuobleClick!
Нельзя ли сделать доступным из вне, контрол отображающий словарь?
Работа со словарем в StiDesignerControl...
Добавлено: 31 окт 2007, 08:27
Vital
Добраться до него можно так:
Код: Выделить всё
StiDictionaryPanelService service = StiDictionaryPanelService.GetService(Designer);
service.DictionaryControl
Спасибо.
Работа со словарем в StiDesignerControl...
Добавлено: 31 окт 2007, 12:20
Stilux
Vital писал(а):Добраться до него можно так:
Код: Выделить всё
StiDictionaryPanelService service = StiDictionaryPanelService.GetService(Designer);
service.DictionaryControl
Спасибо.
Подписываюсь на событие DoubleClick объекта полученного из service.DictionaryControl,
и тишина... Похоже StiDesignerControl перехватывает это событие! Подскажите, как
заблокировать словарь?
Работа со словарем в StiDesignerControl...
Добавлено: 01 ноя 2007, 10:07
Vital
Этот контрол является всего лишь контейнером. Нужно подписываться к DictionaryControl.tvData.
Внесли корректировку в код - если кнопка Edit не видна, то и событие Double Click на редактирование не отрабатывает.
Спасибо.
Работа со словарем в StiDesignerControl...
Добавлено: 19 ноя 2007, 06:04
Stilux
Vital писал(а):Этот контрол является всего лишь контейнером. Нужно подписываться к DictionaryControl.tvData.
Внесли корректировку в код - если кнопка Edit не видна, то и событие Double Click на редактирование не отрабатывает.
Спасибо.
Использую следующий код для настройки DictionaryControl:
Код: Выделить всё
Dim service As StiDictionaryPanelService = StiDictionaryPanelService.GetService(designer)
service.SetDictionaryDelete(False)
service.SetDictionaryEdit(False)
service.SetDictionaryViewData(False)
service.SetDictionaryColumnNew(False)
service.SetDictionaryDatabaseNew(False)
service.SetDictionaryDataParameterNew(False)
service.ShowActionsButton = False
service.ShowCategoryNewMenuItem = False
service.ShowColumnNewMenuItem = False
service.ShowConnectionNewMenuItem = False
service.ShowContextMenu = False
service.ShowCreateFieldOnDoubleClick = False
service.ShowCreateLabel = False
service.ShowDataParameterNewMenuItem = False
service.ShowDataSourceNewMenuItem = False
service.ShowDataSourcesNewMenuItem = False
service.ShowDeleteButton = False
service.ShowDeleteMenuItem = False
service.ShowDictMergeMenuItem = False
service.ShowDictNewMenuItem = False
service.ShowDictOpenMenuItem = False
service.ShowDictSaveMenuItem = False
service.ShowDictXmlExportMenuItem = False
service.ShowDictXmlImportMenuItem = False
service.ShowDictXmlMergeMenuItem = False
service.ShowDownButton = False
service.ShowEditButton = False
service.ShowEditMenuItem = False
service.ShowExpandAllMenuItem = False
service.ShowMarkUsedMenuItem = False
service.ShowNewButton = False
service.ShowPropertiesMenuItem = False
service.ShowRelationNewMenuItem = False
service.ShowRelationsImportMenuItem = False
service.ShowRemoveUnusedMenuItem = False
service.ShowSynchronizeMenuItem = False
service.ShowUpButton = False
service.ShowVariableNewMenuItem = False
service.ShowViewDataMenuItem = False
В результате кнопки 'Action', 'New Item', 'Delete' не работают, но попрежнему видны!
Так же видны CheckBox в нижней части редактора словаря: 'Use Aliases', 'Create Label' и 'Create Label on Double Click'.
Т.е. реакцию на Click вы заблокировали, а скрыть кнопки забыли...
И было бы не плохо, иметь возможность, полностью скрывать эту панель с кнопками, если они все не видны.
Работа со словарем в StiDesignerControl...
Добавлено: 21 ноя 2007, 13:26
Edward
Да, действительно, проблема присутсвует.
Мы известим Вас в этом топике, когда ошибка будет исправлена.
Спасибо.
Работа со словарем в StiDesignerControl...
Добавлено: 22 ноя 2007, 11:42
Stilux
Edward писал(а):Да, действительно, проблема присутсвует.
Мы известим Вас в этом топике, когда ошибка будет исправлена.
Спасибо.
Попытался пойти другим путем, а именно, с помощью
конфигуратора настроил xml-файл.
Далее динамически подгружаю этот конфиг-файл:
Если в файле, для свойства
ShowCreateFieldOnDoubleClick поставить
false, то
при запуске ловим:
Код: Выделить всё
An unhandled exception of type 'System.OutOfMemoryException' occurred in system.windows.forms.dll
Additional information: Error creating window handle.
Работа со словарем в StiDesignerControl...
Добавлено: 27 ноя 2007, 21:23
Vital
Здравствуйте,
пожалуйста используйте следующий код:
Код: Выделить всё
Dim service As StiDictionaryPanelService = StiDictionaryPanelService.GetService()
service.ShowActionsButton = False
service.ShowCategoryNewMenuItem = False
service.ShowColumnNewMenuItem = False
service.ShowConnectionNewMenuItem = False
service.ShowContextMenu = False
service.ShowCreateFieldOnDoubleClick = False
service.ShowCreateLabel = False
service.ShowDataParameterNewMenuItem = False
service.ShowDataSourceNewMenuItem = False
service.ShowDataSourcesNewMenuItem = False
service.ShowDeleteButton = False
service.ShowDeleteMenuItem = False
service.ShowDictMergeMenuItem = False
service.ShowDictNewMenuItem = False
service.ShowDictOpenMenuItem = False
service.ShowDictSaveMenuItem = False
service.ShowDictXmlExportMenuItem = False
service.ShowDictXmlImportMenuItem = False
service.ShowDictXmlMergeMenuItem = False
service.ShowDownButton = False
service.ShowEditButton = False
service.ShowEditMenuItem = False
service.ShowExpandAllMenuItem = False
service.ShowMarkUsedMenuItem = False
service.ShowNewButton = False
service.ShowPropertiesMenuItem = False
service.ShowRelationNewMenuItem = False
service.ShowRelationsImportMenuItem = False
service.ShowRemoveUnusedMenuItem = False
service.ShowSynchronizeMenuItem = False
service.ShowUpButton = False
service.ShowVariableNewMenuItem = False
service.ShowViewDataMenuItem = False
Этот код нужно вызвать до создания дизайнера. Кроме этого мы внесли некоторые изменения в наш код. Пожалуйста воспользуйтесь билдом от 28 ноября.
Спасибо.