Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / Design / PropertyTab.cs / 1 / PropertyTab.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Design { using System.Runtime.InteropServices; using System.ComponentModel; using System.Diagnostics; using System; using System.Drawing; using System.Windows.Forms; using Microsoft.Win32; ////// /// [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.InheritanceDemand, Name="FullTrust")] public abstract class PropertyTab : IExtenderProvider { private Object[] components; private Bitmap bitmap; private bool checkedBmp; ///Provides a base class for property tabs. ///~PropertyTab() { Dispose(false); } // don't override this. Just put a 16x16 bitmap in a file with the same name as your class in your resources. /// /// /// public virtual Bitmap Bitmap { get { if (!checkedBmp && bitmap == null) { string bmpName = GetType().Name + ".bmp"; try { bitmap = new Bitmap(GetType(), bmpName); } catch (Exception ex) { Debug.Fail("Failed to find bitmap '" + bmpName + "' for class " + GetType().FullName, ex.ToString()); } checkedBmp = true; } return bitmap; } } // don't override this either. ///Gets or sets a bitmap to display in the property tab. ////// /// public virtual Object[] Components { get { return components; } set { this.components = value; } } // okay. Override this to give a good TabName. ///Gets or sets the array of components the property tab is associated with. ////// /// public abstract string TabName { get; } ///Gets or sets the name for the property tab. ////// /// public virtual string HelpKeyword { get { return TabName; } } // override this to reject components you don't want to support. ///Gets or sets the help keyword that is to be associated with this tab. This defaults /// to the tab name. ////// /// public virtual bool CanExtend(Object extendee) { return true; } ///Gets a value indicating whether the specified object be can extended. ////// /// public virtual void Dispose() { Dispose(true); GC.SuppressFinalize(this); } ///[To be supplied.] ///protected virtual void Dispose(bool disposing) { if (disposing) { if (bitmap != null) { bitmap.Dispose(); bitmap = null; } } } // return the default property item /// /// /// public virtual PropertyDescriptor GetDefaultProperty(Object component) { return TypeDescriptor.GetDefaultProperty(component); } // okay, override this to return whatever you want to return... All properties must apply to component. ///Gets the default property of the specified component. ////// /// public virtual PropertyDescriptorCollection GetProperties(Object component) { return GetProperties(component, null); } ///Gets the properties of the specified component. ////// /// public abstract PropertyDescriptorCollection GetProperties(object component, Attribute[] attributes); ///Gets the properties of the specified component which match the specified /// attributes. ////// /// public virtual PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object component, Attribute[] attributes) { return GetProperties(component, attributes); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.Gets the properties of the specified component... ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- precedingsibling.cs
- DesignerOptionService.cs
- EntityUtil.cs
- MetadataPropertyCollection.cs
- CharConverter.cs
- NullRuntimeConfig.cs
- TaskExceptionHolder.cs
- UnsafeNativeMethods.cs
- XmlAnyElementAttributes.cs
- XmlMtomWriter.cs
- DefaultValueConverter.cs
- _FtpDataStream.cs
- ClipboardProcessor.cs
- ClockController.cs
- Selector.cs
- ArithmeticException.cs
- QueuePathDialog.cs
- DynamicValueConverter.cs
- TypeReference.cs
- DataGridViewDataErrorEventArgs.cs
- DoWorkEventArgs.cs
- QueryCacheEntry.cs
- Vector3D.cs
- PlatformCulture.cs
- CompressionTransform.cs
- COM2TypeInfoProcessor.cs
- smtpconnection.cs
- DefaultBindingPropertyAttribute.cs
- Substitution.cs
- XD.cs
- Internal.cs
- ListBindingConverter.cs
- TimeZoneNotFoundException.cs
- DataGridTablesFactory.cs
- NamedServiceModelExtensionCollectionElement.cs
- DataGridRowClipboardEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- HandlerFactoryWrapper.cs
- HtmlButton.cs
- Int16Storage.cs
- TabControlEvent.cs
- XmlHierarchicalEnumerable.cs
- XNameTypeConverter.cs
- WebBrowserSiteBase.cs
- SafeProcessHandle.cs
- Roles.cs
- ProcessModuleCollection.cs
- Console.cs
- glyphs.cs
- TimelineClockCollection.cs
- DateTimeConverter2.cs
- AttributeUsageAttribute.cs
- DefaultSection.cs
- UrlMappingsSection.cs
- DesignTimeVisibleAttribute.cs
- NamedPipeHostedTransportConfiguration.cs
- RequestCacheEntry.cs
- CodeAttributeDeclarationCollection.cs
- Membership.cs
- ByValueEqualityComparer.cs
- XmlDataSourceNodeDescriptor.cs
- X509CertificateCollection.cs
- SynchronizationLockException.cs
- ExtensionWindow.cs
- EllipticalNodeOperations.cs
- ComplexPropertyEntry.cs
- PublishLicense.cs
- SerTrace.cs
- Page.cs
- COM2ExtendedBrowsingHandler.cs
- XmlNamespaceManager.cs
- InProcStateClientManager.cs
- ProcessInfo.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- RenderTargetBitmap.cs
- EventLogReader.cs
- MenuItemBinding.cs
- altserialization.cs
- ObjectToken.cs
- IISMapPath.cs
- TreeViewDataItemAutomationPeer.cs
- FamilyTypeface.cs
- ListenerElementsCollection.cs
- AtomMaterializer.cs
- ResourceWriter.cs
- SecUtil.cs
- DrawingState.cs
- ListBoxAutomationPeer.cs
- DeflateStream.cs
- SelectionRange.cs
- DelegateHelpers.cs
- Helper.cs
- AnimationLayer.cs
- ComponentGuaranteesAttribute.cs
- SqlBulkCopy.cs
- HtmlInputHidden.cs
- CacheOutputQuery.cs
- DictionaryManager.cs
- PathTooLongException.cs
- TCPListener.cs