Является ли плохой практикой обрабатывать отображение диалогового окна открытия файла и других диалогов из пользовательского элемента управления textbox? - PullRequest
0 голосов
/ 16 апреля 2010

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

Есть ли причина, по которой я не должен этого делать?

- Редактировать -

Я планирую использовать только этот элемент управления в моем текущем приложении. Одна из причин, по которой я думаю сделать это, - это избежать привязки к свойству Text текстового поля, поскольку эта привязка кажется такой же неэффективной, как обновление строки в событии textaged текстового поля.

1 Ответ

2 голосов
/ 16 апреля 2010

Ну, гибкость приходит на ум. Рассмотрим следующие сценарии, которые были бы невозможны (или, по крайней мере, трудны) в вашем контроле:

  1. Вы хотите использовать несколько или разные способы открытия файла, но это зависит от вашего приложения.

  2. Вы хотите использовать текстовое поле, но ограничить функциональность - например, поиск / замена не разрешены.

  3. Вы хотите изменить поведение любого из них в одном приложении, но не в другом. Например, в приложении A вы хотите добавить дополнительную косую черту в конец текста, но в приложении B вы хотите добавить собственное имя папки.

В общем, я бы рассмотрел что-то более общее. Что-то вроде текстового поля имеет определенную цель; усиление этой цели - это хорошо, но вы выходите за рамки этого. Вы берете логику, которая по праву принадлежит приложению, и наделяете ее определенным контролем. Это ограничивает возможности управления несколькими приложениями.

Конечно, если вы пишете элемент управления специально для одного и только одного приложения, вам не нужно беспокоиться об этих вещах. Но я все равно считаю это плохой практикой.

...