/// <summary> /// Initialize a new instance of the KryptonBorderEdge class. /// </summary> public KryptonBorderEdge() { // The label cannot take the focus SetStyle(ControlStyles.Selectable, false); // Set default label style _orientation = Orientation.Horizontal; // Create the palette storage _borderRedirect = new PaletteBorderInheritRedirect(Redirector, PaletteBorderStyle.ControlClient); _stateCommon = new PaletteBorderEdgeRedirect(_borderRedirect, NeedPaintDelegate); _stateDisabled = new PaletteBorderEdge(_stateCommon, NeedPaintDelegate); _stateNormal = new PaletteBorderEdge(_stateCommon, NeedPaintDelegate); _stateCurrent = _stateNormal; _state = PaletteState.Normal; // Our view contains just a simple canvas that covers entire client area _drawPanel = new ViewDrawPanel(_stateNormal); // Create the view manager instance ViewManager = new ViewManager(this, _drawPanel); // We want to be auto sized by default, but not the property default! AutoSize = true; AutoSizeMode = AutoSizeMode.GrowAndShrink; }
/// <summary> /// Raises the EnabledChanged event. /// </summary> /// <param name="e">An EventArgs that contains the event data.</param> protected override void OnEnabledChanged(EventArgs e) { // Let base class fire standard event base.OnEnabledChanged(e); // Update with the correct forced palette entry ViewDrawPanel.SetPalettes(Enabled ? _forcedNormal : _forcedDisabled); }
private void Construct() { // Our view contains just a simple canvas that covers entire client area _drawPanel = new ViewDrawPanel(_stateNormal.Back); // Create the view manager instance ViewManager = new ViewManager(this, _drawPanel); }
/// <summary> /// Initialize a new instance of the KryptonGroupPanel class. /// </summary> /// <param name="alignControl">Container control for alignment.</param> /// <param name="stateCommon">Common appearance state to inherit from.</param> /// <param name="stateDisabled">Disabled appearance state.</param> /// <param name="stateNormal">Normal appearance state.</param> /// <param name="layoutHandler">Callback delegate for layout processing.</param> public KryptonGroupPanel(Control alignControl, PaletteDoubleRedirect stateCommon, PaletteDouble stateDisabled, PaletteDouble stateNormal, NeedPaintHandler layoutHandler) : base(stateCommon, stateDisabled, stateNormal) { // Remember the delegate used to notify layouts _layoutHandler = layoutHandler; // Create the forced overrides to enforce the graphics option we want _forcedDisabled = new PaletteBackInheritForced(stateDisabled.Back); _forcedNormal = new PaletteBackInheritForced(stateNormal.Back); // We never allow the anti alias option as it prevent transparent background working _forcedDisabled.ForceGraphicsHint = PaletteGraphicsHint.None; _forcedNormal.ForceGraphicsHint = PaletteGraphicsHint.None; // Set the correct initial palettes ViewDrawPanel.SetPalettes(Enabled ? _forcedNormal : _forcedDisabled); // Make sure the alignment of the group panel is as that of the parent ViewManager.AlignControl = alignControl; }