Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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;
///
///
/// Provides a base class for property tabs.
///
[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;
///
~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.
///
///
/// Gets or sets a bitmap to display in the property tab.
///
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 the array of components the property tab is associated with.
///
public virtual Object[] Components {
get {
return components;
}
set {
this.components = value;
}
}
// okay. Override this to give a good TabName.
///
///
/// Gets or sets the name for the property tab.
///
public abstract string TabName {
get;
}
///
///
/// Gets or sets the help keyword that is to be associated with this tab. This defaults
/// to the tab name.
///
public virtual string HelpKeyword {
get {
return TabName;
}
}
// override this to reject components you don't want to support.
///
///
/// Gets a value indicating whether the specified object be can extended.
///
public virtual bool CanExtend(Object extendee) {
return true;
}
///
///
/// [To be supplied.]
///
public virtual void Dispose() {
Dispose(true);
GC.SuppressFinalize(this);
}
///
protected virtual void Dispose(bool disposing) {
if (disposing) {
if (bitmap != null) {
bitmap.Dispose();
bitmap = null;
}
}
}
// return the default property item
///
///
/// Gets the default property of the specified component.
///
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 properties of the specified component.
///
public virtual PropertyDescriptorCollection GetProperties(Object component) {
return GetProperties(component, null);
}
///
///
/// Gets the properties of the specified component which match the specified
/// attributes.
///
public abstract PropertyDescriptorCollection GetProperties(object component, Attribute[] attributes);
///
///
/// Gets the properties of the specified component...
///
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.
//
//-----------------------------------------------------------------------------
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;
///
///
/// Provides a base class for property tabs.
///
[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;
///
~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.
///
///
/// Gets or sets a bitmap to display in the property tab.
///
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 the array of components the property tab is associated with.
///
public virtual Object[] Components {
get {
return components;
}
set {
this.components = value;
}
}
// okay. Override this to give a good TabName.
///
///
/// Gets or sets the name for the property tab.
///
public abstract string TabName {
get;
}
///
///
/// Gets or sets the help keyword that is to be associated with this tab. This defaults
/// to the tab name.
///
public virtual string HelpKeyword {
get {
return TabName;
}
}
// override this to reject components you don't want to support.
///
///
/// Gets a value indicating whether the specified object be can extended.
///
public virtual bool CanExtend(Object extendee) {
return true;
}
///
///
/// [To be supplied.]
///
public virtual void Dispose() {
Dispose(true);
GC.SuppressFinalize(this);
}
///
protected virtual void Dispose(bool disposing) {
if (disposing) {
if (bitmap != null) {
bitmap.Dispose();
bitmap = null;
}
}
}
// return the default property item
///
///
/// Gets the default property of the specified component.
///
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 properties of the specified component.
///
public virtual PropertyDescriptorCollection GetProperties(Object component) {
return GetProperties(component, null);
}
///
///
/// Gets the properties of the specified component which match the specified
/// attributes.
///
public abstract PropertyDescriptorCollection GetProperties(object component, Attribute[] attributes);
///
///
/// Gets the properties of the specified component...
///
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResetableIterator.cs
- LicenseContext.cs
- DES.cs
- SettingsPropertyNotFoundException.cs
- FullTextState.cs
- CngAlgorithmGroup.cs
- VariantWrapper.cs
- ButtonFieldBase.cs
- SyndicationDeserializer.cs
- ConnectionString.cs
- ConstraintEnumerator.cs
- StringUtil.cs
- LinqDataSourceContextEventArgs.cs
- PropertyGrid.cs
- XsltCompileContext.cs
- ipaddressinformationcollection.cs
- handlecollector.cs
- HwndProxyElementProvider.cs
- CompiledRegexRunnerFactory.cs
- CodeEntryPointMethod.cs
- LinkButton.cs
- ChannelServices.cs
- TableParaClient.cs
- GraphicsContext.cs
- PeerHopCountAttribute.cs
- ListControl.cs
- infer.cs
- RetrieveVirtualItemEventArgs.cs
- AutoCompleteStringCollection.cs
- ApplicationDirectory.cs
- AttachInfo.cs
- ClrProviderManifest.cs
- LinkedResource.cs
- TextServicesCompartment.cs
- NetPeerTcpBindingCollectionElement.cs
- CompoundFileStorageReference.cs
- CodeSubDirectoriesCollection.cs
- UseLicense.cs
- TextServicesProperty.cs
- BinaryObjectWriter.cs
- _ListenerAsyncResult.cs
- MetadataWorkspace.cs
- RoamingStoreFile.cs
- RangeValueProviderWrapper.cs
- Certificate.cs
- Processor.cs
- TypefaceMap.cs
- ConnectionStringsExpressionBuilder.cs
- util.cs
- CompoundFileDeflateTransform.cs
- LicenseManager.cs
- Int64.cs
- SymmetricKeyWrap.cs
- EntityDataSourceWrapper.cs
- CachedCompositeFamily.cs
- ThreadNeutralSemaphore.cs
- AsyncCallback.cs
- HyperLinkStyle.cs
- basemetadatamappingvisitor.cs
- LayoutInformation.cs
- SqlLiftIndependentRowExpressions.cs
- _SslSessionsCache.cs
- CodePageEncoding.cs
- CodeMethodInvokeExpression.cs
- PeerApplication.cs
- SqlCacheDependencyDatabaseCollection.cs
- NonVisualControlAttribute.cs
- DataTemplateSelector.cs
- SmiContextFactory.cs
- WebEventCodes.cs
- Visitors.cs
- AttributeTable.cs
- InfoCardUIAgent.cs
- BaseServiceProvider.cs
- WindowsRegion.cs
- Partitioner.cs
- VoiceSynthesis.cs
- RuntimeVariableList.cs
- ClonableStack.cs
- ObjectListDesigner.cs
- Stream.cs
- Soap11ServerProtocol.cs
- InputScopeNameConverter.cs
- ThreadExceptionEvent.cs
- InputGestureCollection.cs
- DescendantBaseQuery.cs
- __Filters.cs
- PassportAuthenticationModule.cs
- SelectiveScrollingGrid.cs
- DataGridViewCellMouseEventArgs.cs
- SettingsBase.cs
- WindowsTokenRoleProvider.cs
- Content.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- NameValuePermission.cs
- ProgressChangedEventArgs.cs
- ExpressionEditorSheet.cs
- SafeViewOfFileHandle.cs
- StandardToolWindows.cs
- Track.cs