WinForms: дизайн против кода - PullRequest
2 голосов
/ 11 февраля 2009

Я сольный разработчик, создающий приложение WinForm, C # & .Net 3.5, в VS2008.

По сути, это прославленное приложение для ввода и поиска данных. Мой вопрос: нормально ли тратить% 60 + моего времени на «дизайн»?

Пользовательский интерфейс, размещающий все элементы управления, называя элементы управления чем-то интуитивно понятным, устанавливая свойства для элементов управления пользовательского интерфейса (Модификатор, цвет в фокусе и т. Д.). Кажется, что за каждые 30 минут, которые я трачу на написание кода, я трату вдвое больше, чем возиться с пользовательским интерфейсом. Что я делаю неправильно?

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

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

Это действительно очень расстраивает, так как мне нравится аспект кодирования, но я чувствую, что трачу больше времени на то, чтобы убедиться, что мой шрифт читабелен (у меня есть полу-пожилая база пользователей)!


РЕДАКТИРОВАТЬ для дальнейшего уточнения на основе обратной связи!

Приложение, которое я создаю, является портом winform веб-формы, приложения ASP.Net. Полностью функциональный и в использовании. Мне не разрешено изменять уровень базы данных на этом этапе, но из-за природы WinForm vs WebForm интерфейс претерпел серьезные изменения. Я оставляю DAL & BLL на конец, чтобы сначала увидеть, сколько из них я могу использовать повторно.

Я знаю, что это, вероятно, не нормально, но, похоже, имело смысл в этом сценарии. Это делает мой вопрос более ясным?

Ответы [ 4 ]

3 голосов
/ 11 февраля 2009

Есть ли более быстрый способ редактирования существующих, чем щелчок и редактирование?

Вы можете CTRL + щелкнуть несколько элементов управления формы, которые имеют общее свойство (например, Font, ForegroundColor или что-то еще), и внести изменения во все элементы управления одновременно. Свойства различных элементов управления также определены в верхней части кода вашей формы (я думаю, что раздел обычно свернут по умолчанию). Эти свойства автоматически обновляются, когда вы используете конструктор форм для внесения изменений, но вместо этого вы можете изменить их в коде, используя Find + Replace, если у вас есть много похожих изменений.

Это действительно продукт моего отсутствия планирования? Является ли решение запланировать и записать все это так, чтобы я понял это правильно с первого раза?

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

Есть ли способ установить определенные настройки свойств по умолчанию для всех элементов управления пользовательского интерфейса?

Решение routeNpingme для этого является хорошим. :)

2 голосов
/ 11 февраля 2009

Используйте наследование для централизации своих настроек, например,

Добавьте класс с именем MyButton, скажем:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace MyApp
{
  class MyButton : Button
  {
    public MyButton()
    {
      this.BackColor = Color.Pink;
      this.Font = new Font(SystemFonts.DialogFont.FontFamily, 12, FontStyle.Bold, GraphicsUnit.Point);
    }

    protected override Size DefaultSize
    {
      get
      {
        return new Size(150, 50);
      }
    }
  }
}

И на панели инструментов появится элемент управления, который можно перетаскивать на форму вместо обычной кнопки.

2 голосов
/ 11 февраля 2009

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

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

Эти маленькие штрихи имеют большое значение для вашего пользовательского опыта.

1 голос
/ 11 февраля 2009

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

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