Текстовое поле против ярлыков - PullRequest
4 голосов
/ 28 января 2009

Я занимаюсь разработкой приложения winForm на C # и столкнулся с чем-то, что меня всегда беспокоило.

Лучше ли при отображении данных пользователю использовать Label или TextBox?

Такие вещи, как имя, номер телефона и т. Д. Моя интуиция говорит использовать TextBox и просто установить его только для чтения, пока не придет время, когда мне нужно разрешить редактирование с этого конкретного места. План на будущее как бы.

Как молодой Lone Wolf разработчик, я был бы очень признателен за любые идеи здесь. Есть ли плюсы и минусы либо? Есть ли что-то еще, о чем я не думаю?

Ответы [ 10 ]

11 голосов
/ 28 января 2009

Следует учесть, что текст в текстовом поле можно выбирать, чтобы пользователям было проще копировать / вставлять содержимое.

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

6 голосов
/ 05 августа 2009

Вам может потребоваться разрешить пользователю КОПИРОВАНИЕ текста ... это единственная причина, по которой я использую текстовые поля, а затем заставляю их выглядеть как метки (только для чтения и прозрачный фон без границ).

Фактически, диалоговое окно «Свойства» в Windows использует текстовые поля, чтобы позволить вам скопировать текст.

Обратите внимание, что я сказал "ReadOnly" ... не "Disabled".

5 голосов
/ 28 января 2009

Для данных, которые пользователь может редактировать (независимо от того, включена ли она в текущем контексте или нет), я всегда использую текстовое поле, которое я включаю / отключаю по мере необходимости. Для данных, которые являются чисто информационными, то есть пользователю не будет предоставлена ​​возможность изменить их в текущем контексте, тогда я использую метку.

4 голосов
/ 28 января 2009

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

3 голосов
/ 28 января 2009

Этикетки - это путь.

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

3 голосов
/ 28 января 2009

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

2 голосов
/ 28 января 2009

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

2 голосов
/ 28 января 2009

Иногда ваши пользователи могут захотеть выделить и скопировать статический текст (адреса, номера телефонов и т. Д.). Насколько я знаю, метки не могут быть выделены, тогда как текстовые поля только для чтения могут.

2 голосов
/ 28 января 2009

Используйте метку, если данные не нуждаются в редактировании. Вы действительно должны использовать любой тег, наиболее подходящий для отображаемой информации.

1 голос
/ 28 января 2009

Я согласен с d03boy. Текстовое поле выводит, что значение можно редактировать. Метки выводят на экран только для отображения формы. Это немного больше работы. ИМХО, вы хотите, чтобы ваше приложение соответствовало другим приложениям на базе Windows, чтобы приложение выглядело максимально профессионально

Я бы следовал модели отображения формы просмотра / редактирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...