1 / 15

Класс Control

Класс Control. Базовый для класса Form и классов элементов управления - реализует общую функциональность всех элементов управления. В классе Control около 70 открытых свойств ( не унаследованных) более 40 открытых методов около 50 событий

kalea
Download Presentation

Класс Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Класс Control • Базовый для класса Form и классов элементов управления - реализует общую функциональность всех элементов управления. • В классе Control • около 70 открытых свойств ( не унаследованных) • более 40 открытых методов • около 50 событий • более 100 защищенных (protected) методов, большая часть которых – этообработчики событий по умолчанию, например, OnClick(). System.Object   System.MarshalByRefObject      System.ComponentModel.Component         System.Windows.Forms.Control            System.Windows.Forms.ScrollableControl               System.Windows.Forms.ContainerControl                  System.Windows.Forms.Form

  2. Свойства класса Control: свойство Controls • Элемент управления одновременно может быть контейнером для других элементов управления (дочерних - child) и являться элементом другого контейнера - родительского (parent). • Свойство Controls класса Control дает доступ к коллекции всех дочерних элементов управления для формы (или элемента управления). public Control.ControlCollection Controls {get;} • Класс ControlCollection определен как вложенный в классе Control. publicclassControl.ControlCollection : IList, ICollection, IEnumerable, ICloneable

  3. Свойства Control: свойство ParentОтношение дочерний-родительский • Свойство Parent класса Control возвращает ссылку на родительский элемент управления public Control Parent {get; set;} • Отношение дочерний-родительский устанавливается, • когда свойству Parent элемента управления присваивается ссылка на родительский элемент управления, или • элемент управления добавляется к коллекции дочерних элементов. • Дочерний элемент управления не выходит за границы родительского и перемещается вместе с ним. • Дочерний элемент управления наследует свойства родительского элемента (Font, FontColor, BackColor).Можно изменить эти свойства, а потом восстановить, вызвав методы ResetFont, ResetForeColor, ResetBackColor.

  4. Отношение подчиненный-владелец • Отношение подчиненный-владелец может существовать только между формами. • Подчиненная форма может выходить за границы формы-владельца и не перемещается вместе с ней. Подчиненная форма не наследует свойства формы-владельца. • Подчиненная форма минимизируется и закрывается одновременно с формой-владельцем. Подчиненная форма никогда не скрывается за формой-владельцем(свойство формы, необходимое для окон “Find-Replace”). • Подчиненным может быть только окно верхнего уровня (top-level). • Отношение подчиненный-владелец между формами устанавливается, когда свойству класса Form publicFormOwner {get; set;} присваивается ссылка на другую форму или при вызове метода

  5. z-порядок элементов управления. Индексы в коллекции ControlCollection • z–порядок элементов управленияопределяет их взаимное расположение в направлении, перпендикулярном экрану. • z–порядок связан с индексом элемента управления в коллекции. Для перекрывающихся элементов управления элемент с меньшим индексом расположен ближе к наблюдателю. • Можно изменить z–порядок с помощью методов класса Control public void BringToFront(); public void SendToBack();

  6. Свойства Control с информацией о размерах и расположении окна на экране publicPointLocation {get; set;} – верхний левый угол по отношению к левому верхнему углу контейнера, экранные координаты для формы. publicintLeft {get; set;} -Point.Xсвойства Location publicintTop {get; set;} -Point.Yсвойства Location publicintHeight {get; set;} -( в пикселях) publicintWidth {get; set;} publicintRight {get;} publicintBottom {get;} publicSizeClientSize {get; set;} – размер клиентской части окна publicRectangleBounds {get; set;} – размер и расположение, включая системную часть окна (заголовок, рамка, меню, полосы прокрутки) publicSizeSize {get; set;} – высота и ширина окна publicRectangleClientRectangle {get;} Структуры Point, PointF, Size, SizeF, Rectangle, RectangleF определены в пространстве имен System.Drawing.

  7. Свойства Control: фиксация (Anchor)и стыковка (Docking) • Фиксация (Anchor) позволяет связать границы элемента управления с границами контейнера.  • Правая, левая, верхняя и нижняя границы могут быть связаны с границам контейнера независимо. public virtual AnchorStyles Anchor {get; set;} • Стыковка (Docking) позволяет “приклеить” элемент управления к одной из сторон контейнера.  • Особый режим стыковки: Fill. В этом режиме элемент управления занимает весь контейнер. public virtual DockStyle Dock {get; set;}

  8. Свойства Control: цвета и фон элементауправления • Цвет текста. Значение по умолчанию - SystemColors.ControlText . public virtual Color ForeColor {get; set;} public static Color DefaultForeColor {get;} • Цвет фона элемента управления. Значение по умолчанию - SystemColors.Control public virtual Color BackColor {get; set;} public static Color DefaultBackColor {get;} • Изображение как фон элемента управления. public virtual Image BackgroundImage {get; set;}

  9. Структура Color. Класс SystemColors • Для цвета Windows Forms использует модель ARGB (alpha-red-green-blue). Структура Color – тип-значение: System.ObjectSystem.ValueTypeSystem.Drawing.Color • В структуре Color определены 140 статических свойств – набор предопределенных цветов, например: publicstaticColorGreen {get;} publicstaticColorForestGreen {get;} • В структуре Color определены 4 перегруженных метода для определения цвета с заданными значениями интенсивностей красного, зеленого и синего цветов и значением прозрачности: publicstaticColorFromArgb( intalpha, ColorbaseColor ); publicstaticColorFromArgb( intred, intgreen, intblue ); • В классе SystemColors определены только статические свойства со значениями системных цветов, которые установлены пользователем в OC, например, public static Color ActiveCaption {get;}.

  10. Свойства Control: заголовок, меню • Виртуальное свойство Text переопределено в производных классах. В классе Form – это свойство определяет текст заголовка, в классе TextBox – текст в элементе управления. public virtual string Text {get; set;} • Контекстное меню, связанное с элементом управления, по умолчанию появляется, когда пользователь нажимает правую кнопку мыши. ContextMenu имеет приоритет перед ContextMenuStrip. publicvirtualContextMenuContextMenu {get; set;} publicvirtualContextMenuStripContextMenuStrip{get; set;}

  11. Свойства Control: курсор, шрифт • Cвойство Cursor определяет курсор мыши для данного элемента управления. Можно использовать один из предопределенных курсоров или создать нестандартный. public virtual Cursor Cursor {get; set;} • Предопределенные курсоры находятся в классе Cursors. Класс состоит только из статических свойств (более 20), возвращающих ссылку на предопределенные курсоры, например, public static Cursor WaitCursor {get;} • Свойство Font определяет шрифт текста в элементе управления. public virtual Font Font {get; set;} public static Font DefaultFont {get;} • Свойства Font и Cursor являются ambient – если не установлены, то наследуются от родительского элемента управления.

  12. Свойства Control: состояние элемента управления • Класс Control - базовый для класса Form и классов элементов управления, реализует общую функциональность всех элементов управления.

  13. Свойства Control: фокус ввода • Ввод от клавиатуры получает элемент управления, который имеет фокус ввода. • Экземплярный метод Focus() программно передает фокус ввода. public bool Focus();

  14. Свойства Control: CausesValidation • Элемент управления получает события в следующем порядке: • Enter • Validating • Validated • Leave • События Validating и Validated происходят только в том случае, когда свойство элемента управления publicboolCausesValidation {get; set;} имеет значение true ( умолчание - false).

  15. Свойства Control: Tag publicobjectTag {get; set;} • Свойство Tag дает возможность установить связь между элементом управления и объектом, содержащим данные. • Свойство удобно использовать при работе с массивом управляющих элементов.

More Related