TableLayoutStyle.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / TableLayoutStyle.cs / 1 / TableLayoutStyle.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Windows.Forms { 
    using System; 
    using System.Collections;
    using System.ComponentModel; 
    using System.ComponentModel.Design.Serialization;
    using System.Diagnostics;
    using System.Drawing;
    using System.Drawing.Design; 
    using System.Globalization;
    using System.Windows.Forms.Layout; 
    using System.Reflection; 

    ///  
    [TypeConverterAttribute(typeof(TableLayoutSettings.StyleConverter))]
    public abstract class TableLayoutStyle {
        private IArrangedElement _owner;
        private SizeType _sizeType = SizeType.AutoSize; 
        private float _size;
 
        ///  
        [DefaultValue(SizeType.AutoSize)]
        public SizeType SizeType { 
            get { return _sizeType; }
            set {
                if (_sizeType != value) {
                    _sizeType = value; 
                    if(Owner != null) {
                        LayoutTransaction.DoLayout(Owner, Owner, PropertyNames.Style); 
                        Control owner = Owner as Control; 
                        if (owner != null) {
                            owner.Invalidate(); 
                        }
                    }
                }
            } 
        }
 
        internal float Size { 
            get { return _size; }
            set { 
                if (value < 0) {
                    throw new ArgumentOutOfRangeException("Size", SR.GetString(SR.InvalidLowBoundArgumentEx, "Size", value.ToString(CultureInfo.CurrentCulture), (0).ToString(CultureInfo.CurrentCulture)));
                }
                if (_size != value) { 
                    _size = value;
                    if(Owner != null) { 
                        LayoutTransaction.DoLayout(Owner, Owner, PropertyNames.Style); 
                        Control owner = Owner as Control;
                        if (owner != null) { 
                            owner.Invalidate();
                        }
                    }
                } 
            }
        } 
 
        private bool ShouldSerializeSize() {
            return SizeType != SizeType.AutoSize; 
        }

        internal IArrangedElement Owner {
            get { return _owner; } 
            set { _owner = value; }
        } 
 
        //set the size without doing a layout
        internal void SetSize(float size) { 
            Debug.Assert(size >= 0);
            _size = size;
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK