Придерживайтесь стандартов
Используйте хорошо известные имена для свойств и методов. Например, GetItemAt вместо PointToItem, BackColor вместо BackgroundColor. Если в Windows Forms найдутся аналогичные методы, используйте их названия. Помните, что привычки пользователя важнее, чем синтаксическая правильность, а пользователи чаще сталкиваются со стандартными контролами, нежели с вашими.
Придерживайтесь стандартного стиля для описания делегатов:
public delegate void SomeEventHandler(object sender, SomeEventArgs e);
public class SomeEventArgs : EventArgs { private int _intValue; private string _stringValue;
public SomeEventArgs(int intValue, string stringValue) { _intValue = intValue; _stringValue = stringValue; }
public int IntValue { get { return _intValue; } } public string StringValue { get { return _stringValue; } } }
|
Для инициации события используйте защищенный виртуальный метод
public event SomeEventHandler Some; protected virtual void OnSome(SomeEventArgs e) { if (Some != null) Some(this, e); }
|
Взаимодействуйте с операционной системой касательно предпочтений пользователя. Используйте системные шрифты, цвета и другие настройки в качестве значений по умолчанию. При необходимости, подпишитесь на событие Microsoft.Win32.SystemEvents.UserPreferenceChanged и обновляйте кэшированные значения для Brush, Pen, Font, используя статические свойства класса SystemInformation. Перегрузите OnSystemColorsChanged для той же цели. Некоторые классы .NET Framework самостоятельно отслеживают эти вещи, например SolidBrush, созданный на базе константы, соответствующей предопределенному системному цвету, будет поддерживать себя в актуальном состоянии, а вот LinearGradientBrush не будет этого делать.
- Краткий путеводитель
- Проектируйте
- Сохраняйте гибкость
- Коллекции элементов
- Отрисовка
- Придерживайтесь стандартов
- Оптимизируйте
- Взаимодействие с мышью
- Взаимодействие с клавиатурой
- Поведение в режиме дизайна
- Использование атрибутов
- Коллекции
- Конверторы типов
- Расширение компонентов
- Локализация
- Источники данных
- Доступность
- Конвертор типа