Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / Design / PropertyTab.cs / 1305376 / 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; using System.Runtime.Versioning; ////// /// [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 { [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] 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.Gets the properties of the specified component... ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SmtpNetworkElement.cs
- GeometryDrawing.cs
- XpsS0ValidatingLoader.cs
- DataGridViewCellCollection.cs
- EntityDataSourceWrapperCollection.cs
- BoundColumn.cs
- CommentEmitter.cs
- DoubleLinkListEnumerator.cs
- CatalogZone.cs
- MediaTimeline.cs
- CreateUserErrorEventArgs.cs
- ExtenderProvidedPropertyAttribute.cs
- EventSourceCreationData.cs
- UnregisterInfo.cs
- XamlBrushSerializer.cs
- ToolBar.cs
- EdmComplexTypeAttribute.cs
- SecurityResources.cs
- ReadOnlyCollectionBase.cs
- SoapIgnoreAttribute.cs
- ValuePatternIdentifiers.cs
- QueryCacheEntry.cs
- AutomationPattern.cs
- GridItemCollection.cs
- _HeaderInfo.cs
- Certificate.cs
- ShaderEffect.cs
- DataGridViewHeaderCell.cs
- NameValuePair.cs
- Pool.cs
- DataFormat.cs
- RemoveFromCollection.cs
- MinimizableAttributeTypeConverter.cs
- PropertyGridDesigner.cs
- PaintEvent.cs
- webeventbuffer.cs
- ListViewTableRow.cs
- SrgsElementFactory.cs
- TdsParserStaticMethods.cs
- safelinkcollection.cs
- SchemaImporterExtensionsSection.cs
- TemplateControlParser.cs
- DataGridPageChangedEventArgs.cs
- LoadWorkflowAsyncResult.cs
- Attributes.cs
- recordstate.cs
- TableColumn.cs
- ProcessHostServerConfig.cs
- XsltCompileContext.cs
- DateTimeFormatInfo.cs
- XmlSchemaProviderAttribute.cs
- StateFinalizationActivity.cs
- DataGridViewRowPrePaintEventArgs.cs
- ControlIdConverter.cs
- FlagPanel.cs
- XpsImageSerializationService.cs
- TextBlock.cs
- BinaryMethodMessage.cs
- SimpleWorkerRequest.cs
- SecurityRuntime.cs
- UpnEndpointIdentityExtension.cs
- GridViewCancelEditEventArgs.cs
- TripleDESCryptoServiceProvider.cs
- CheckBoxRenderer.cs
- XmlSchemaComplexContentRestriction.cs
- ImplicitInputBrush.cs
- SqlFunctionAttribute.cs
- RecipientIdentity.cs
- SafeWaitHandle.cs
- AnonymousIdentificationSection.cs
- XmlQueryType.cs
- OdbcRowUpdatingEvent.cs
- WriteableBitmap.cs
- InternalConfirm.cs
- Button.cs
- Timer.cs
- ExpressionVisitorHelpers.cs
- CharacterMetrics.cs
- ColumnResizeUndoUnit.cs
- RecommendedAsConfigurableAttribute.cs
- DataGridViewCellLinkedList.cs
- DeferredSelectedIndexReference.cs
- FtpWebRequest.cs
- IItemProperties.cs
- NextPreviousPagerField.cs
- Random.cs
- SqlConnectionPoolGroupProviderInfo.cs
- DrawingCollection.cs
- IconConverter.cs
- GeneralTransformGroup.cs
- ListContractAdapter.cs
- ControlType.cs
- ColorAnimation.cs
- LayoutTable.cs
- RequestCachePolicy.cs
- DrawingVisualDrawingContext.cs
- TextEditorTables.cs
- KeyFrames.cs
- EventHandlerList.cs
- SafeNativeMethods.cs