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
- ReadOnlyCollectionBase.cs
- DesignerAdRotatorAdapter.cs
- WebPartManager.cs
- SqlStream.cs
- IsolatedStorageFilePermission.cs
- SupportsEventValidationAttribute.cs
- OperationInfoBase.cs
- View.cs
- UdpTransportSettings.cs
- DefinitionBase.cs
- XmlSchemaException.cs
- TextViewBase.cs
- DuplicateContext.cs
- DropAnimation.xaml.cs
- WebPartUtil.cs
- XXXOnTypeBuilderInstantiation.cs
- SqlCacheDependencySection.cs
- TraceLog.cs
- QueuePathDialog.cs
- SoapElementAttribute.cs
- BitmapFrameDecode.cs
- MenuTracker.cs
- CacheChildrenQuery.cs
- Nullable.cs
- Animatable.cs
- SecUtil.cs
- ChangeConflicts.cs
- CodeArrayIndexerExpression.cs
- BasePropertyDescriptor.cs
- TypeConstant.cs
- OdbcStatementHandle.cs
- Facet.cs
- SelectionProviderWrapper.cs
- Tracking.cs
- TagMapInfo.cs
- RelationshipDetailsCollection.cs
- ObjectTag.cs
- HttpPostedFile.cs
- CroppedBitmap.cs
- IsolatedStorage.cs
- Directory.cs
- BulletedList.cs
- AnnotationComponentChooser.cs
- WindowsRegion.cs
- ChannelServices.cs
- StrokeNodeEnumerator.cs
- TreeViewCancelEvent.cs
- MouseWheelEventArgs.cs
- DocumentAutomationPeer.cs
- Instrumentation.cs
- FileChangeNotifier.cs
- OdbcInfoMessageEvent.cs
- TextPointer.cs
- ImageAutomationPeer.cs
- HttpModuleActionCollection.cs
- TextDecorationLocationValidation.cs
- MaterialGroup.cs
- SystemColors.cs
- MD5HashHelper.cs
- DbTransaction.cs
- PropertyInfo.cs
- TypeUsageBuilder.cs
- AdjustableArrowCap.cs
- DateTimeStorage.cs
- CoTaskMemSafeHandle.cs
- VisualStyleInformation.cs
- ExtensionSimplifierMarkupObject.cs
- OleDbDataReader.cs
- GenericXmlSecurityToken.cs
- UnsafeNativeMethods.cs
- ChunkedMemoryStream.cs
- WebPartEventArgs.cs
- XmlSerializerFactory.cs
- SourceInterpreter.cs
- StylusPointDescription.cs
- WebCategoryAttribute.cs
- HtmlImage.cs
- ServiceAuthorizationElement.cs
- TranslateTransform3D.cs
- RequestUriProcessor.cs
- Effect.cs
- FilterableAttribute.cs
- Int16Animation.cs
- Adorner.cs
- QualifierSet.cs
- RewritingPass.cs
- DictionaryEntry.cs
- __ComObject.cs
- ResourceKey.cs
- SectionInput.cs
- assertwrapper.cs
- InternalBufferOverflowException.cs
- FolderBrowserDialog.cs
- Identity.cs
- SignHashRequest.cs
- ResolveDuplexAsyncResult.cs
- CapiSymmetricAlgorithm.cs
- WebFormsRootDesigner.cs
- RecordsAffectedEventArgs.cs
- SqlDataSourceCommandParser.cs