Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / DataGridViewTopRowAccessibleObject.cs / 1305376 / DataGridViewTopRowAccessibleObject.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Security.Permissions; using System.Drawing; using System.Diagnostics; namespace System.Windows.Forms { public partial class DataGridView { ///[ System.Runtime.InteropServices.ComVisible(true) ] protected class DataGridViewTopRowAccessibleObject : AccessibleObject { DataGridView owner; /// public DataGridViewTopRowAccessibleObject() : base() { } /// public DataGridViewTopRowAccessibleObject(DataGridView owner) : base() { this.owner = owner; } /// public override Rectangle Bounds { get { if (this.owner == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewTopRowAccessibleObject_OwnerNotSet)); } if (this.owner.ColumnHeadersVisible) { Rectangle rect = Rectangle.Union(this.owner.layout.ColumnHeaders, this.owner.layout.TopLeftHeader); return this.owner.RectangleToScreen(rect); } else { return Rectangle.Empty; } } } /// public override string Name { get { return SR.GetString(SR.DataGridView_AccTopRow); } } /// public DataGridView Owner { get { return this.owner; } set { if (this.owner != null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewTopRowAccessibleObject_OwnerAlreadySet)); } this.owner = value; } } /// public override AccessibleObject Parent { [SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)] get { if (this.owner == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewTopRowAccessibleObject_OwnerNotSet)); } return this.owner.AccessibilityObject; } } /// public override AccessibleRole Role { get { return AccessibleRole.Row; } } /// public override string Value { [SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)] get { return this.Name; } } /// public override AccessibleObject GetChild(int index) { if (this.owner == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewTopRowAccessibleObject_OwnerNotSet)); } if (index < 0) { throw new ArgumentOutOfRangeException("index"); } if (index == 0 && this.owner.RowHeadersVisible) { return this.owner.TopLeftHeaderCell.AccessibilityObject; } if (this.owner.RowHeadersVisible) { // decrement the index because the first child is the top left header cell index --; } Debug.Assert(index >= 0); if (index < this.owner.Columns.GetColumnCount(DataGridViewElementStates.Visible)) { int actualColumnIndex = this.owner.Columns.ActualDisplayIndexToColumnIndex(index, DataGridViewElementStates.Visible); return this.owner.Columns[actualColumnIndex].HeaderCell.AccessibilityObject; } else { return null; } } /// public override int GetChildCount() { if (this.owner == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewTopRowAccessibleObject_OwnerNotSet)); } int result = this.owner.Columns.GetColumnCount(DataGridViewElementStates.Visible); if (this.owner.RowHeadersVisible) { // + 1 is the top left header cell accessibility object result ++; } return result; } /// [SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)] public override AccessibleObject Navigate(AccessibleNavigation navigationDirection) { if (this.owner == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewTopRowAccessibleObject_OwnerNotSet)); } switch (navigationDirection) { case AccessibleNavigation.Down: case AccessibleNavigation.Next: if (this.owner.AccessibilityObject.GetChildCount() > 1) { return this.owner.AccessibilityObject.GetChild(1); } else { return null; } case AccessibleNavigation.FirstChild: return this.GetChild(0); case AccessibleNavigation.LastChild: return this.GetChild(this.GetChildCount() - 1); default: return null; } } } } } // 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
- InternalConfigConfigurationFactory.cs
- WindowsIPAddress.cs
- RelativeSource.cs
- ChangePassword.cs
- MessageSmuggler.cs
- MouseGestureValueSerializer.cs
- ArraySubsetEnumerator.cs
- DependencyPropertyValueSerializer.cs
- InputBinder.cs
- TextTreeInsertElementUndoUnit.cs
- OleDbTransaction.cs
- UnsettableComboBox.cs
- NavigationProperty.cs
- NextPreviousPagerField.cs
- AspNetRouteServiceHttpHandler.cs
- Menu.cs
- Token.cs
- EventListener.cs
- CollectionViewGroup.cs
- NoResizeHandleGlyph.cs
- FigureParaClient.cs
- PartitionedDataSource.cs
- ObjectIDGenerator.cs
- DynamicDiscoveryDocument.cs
- CreatingCookieEventArgs.cs
- MissingSatelliteAssemblyException.cs
- WebPartPersonalization.cs
- PanelStyle.cs
- ConstructorArgumentAttribute.cs
- XmlDataSourceView.cs
- ToolBarButton.cs
- RunWorkerCompletedEventArgs.cs
- XmlSchemaValidationException.cs
- PageAsyncTask.cs
- GlyphingCache.cs
- UserControl.cs
- XmlSchemaChoice.cs
- OTFRasterizer.cs
- RoleGroupCollectionEditor.cs
- InlineCollection.cs
- NameValueCollection.cs
- FixUpCollection.cs
- AuthenticationModulesSection.cs
- EngineSiteSapi.cs
- GlyphsSerializer.cs
- RoleServiceManager.cs
- XmlHierarchicalEnumerable.cs
- TemplatedControlDesigner.cs
- SqlDataSourceConfigureFilterForm.cs
- CustomCredentialPolicy.cs
- _OverlappedAsyncResult.cs
- EncryptedPackageFilter.cs
- ResourceProviderFactory.cs
- cookiecontainer.cs
- QueueProcessor.cs
- PolygonHotSpot.cs
- NullableDecimalSumAggregationOperator.cs
- TextAdaptor.cs
- GeometryCombineModeValidation.cs
- IncomingWebResponseContext.cs
- XmlFormatReaderGenerator.cs
- CaseCqlBlock.cs
- DbMetaDataColumnNames.cs
- XmlNullResolver.cs
- __Filters.cs
- ProcessManager.cs
- FigureParagraph.cs
- AssociationTypeEmitter.cs
- InstancePersistenceCommand.cs
- ToolStripMenuItemCodeDomSerializer.cs
- AssemblyNameProxy.cs
- GuidConverter.cs
- ConnectivityStatus.cs
- DataGridViewCellPaintingEventArgs.cs
- MonikerUtility.cs
- CacheDependency.cs
- ColorAnimationBase.cs
- XmlTextEncoder.cs
- UnionCodeGroup.cs
- GeometryModel3D.cs
- RoutedCommand.cs
- TreeBuilderXamlTranslator.cs
- ReceiveContext.cs
- XmlSchemaComplexContentRestriction.cs
- OdbcConnectionPoolProviderInfo.cs
- WindowsAltTab.cs
- X509Utils.cs
- TrustLevelCollection.cs
- BaseTemplateCodeDomTreeGenerator.cs
- HwndAppCommandInputProvider.cs
- BitmapEffectInput.cs
- SecurityException.cs
- Timer.cs
- WizardForm.cs
- StoreAnnotationsMap.cs
- OutKeywords.cs
- FileLevelControlBuilderAttribute.cs
- MeasureData.cs
- Enum.cs
- MouseGestureConverter.cs