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
- ListDictionary.cs
- Stack.cs
- LocalizeDesigner.cs
- XmlSchemaImport.cs
- ResolvedKeyFrameEntry.cs
- CustomCategoryAttribute.cs
- PartBasedPackageProperties.cs
- SqlBulkCopyColumnMapping.cs
- XmlName.cs
- Size.cs
- MediaTimeline.cs
- ConfigXmlReader.cs
- ProfileSettingsCollection.cs
- Overlapped.cs
- CommonProperties.cs
- TextDecoration.cs
- TextFormattingConverter.cs
- hwndwrapper.cs
- RequestCachePolicyConverter.cs
- CallbackValidator.cs
- InternalConfigRoot.cs
- Literal.cs
- _DomainName.cs
- Membership.cs
- ELinqQueryState.cs
- COM2ExtendedUITypeEditor.cs
- Emitter.cs
- FixedTextPointer.cs
- MessageProperties.cs
- CollaborationHelperFunctions.cs
- CodeTypeReferenceCollection.cs
- RoutedEvent.cs
- ValidationSettings.cs
- SnapLine.cs
- PropertySourceInfo.cs
- ContainerSelectorActiveEvent.cs
- DataGridViewAdvancedBorderStyle.cs
- BamlRecords.cs
- OleAutBinder.cs
- ConfigXmlElement.cs
- TransactionProxy.cs
- SecurityPolicySection.cs
- TextPenaltyModule.cs
- HyperLinkDesigner.cs
- CompiledRegexRunner.cs
- HttpCookieCollection.cs
- PropertyKey.cs
- CallbackValidatorAttribute.cs
- HTTP_SERVICE_CONFIG_URLACL_KEY.cs
- KeyPressEvent.cs
- ThousandthOfEmRealDoubles.cs
- ViewKeyConstraint.cs
- TableRowCollection.cs
- DataTrigger.cs
- QueryUtil.cs
- ClientCultureInfo.cs
- DbParameterCollection.cs
- TableLayoutCellPaintEventArgs.cs
- ClientSession.cs
- QilReference.cs
- DecoderExceptionFallback.cs
- SocketAddress.cs
- SafeSecurityHandles.cs
- GridSplitterAutomationPeer.cs
- LinkedResourceCollection.cs
- AssemblyInfo.cs
- HtmlTable.cs
- ZoomPercentageConverter.cs
- NullExtension.cs
- SmiTypedGetterSetter.cs
- ScrollPatternIdentifiers.cs
- Point3D.cs
- ConfigurationSettings.cs
- ListItemDetailViewAttribute.cs
- __Filters.cs
- ToolZone.cs
- DtdParser.cs
- StorageTypeMapping.cs
- ImportOptions.cs
- TreeViewImageIndexConverter.cs
- PersonalizationStateQuery.cs
- PeerCustomResolverSettings.cs
- VSWCFServiceContractGenerator.cs
- ValidatedMobileControlConverter.cs
- wmiprovider.cs
- PEFileReader.cs
- FormsAuthenticationCredentials.cs
- HitTestWithGeometryDrawingContextWalker.cs
- SHA1CryptoServiceProvider.cs
- NotSupportedException.cs
- CompleteWizardStep.cs
- ContentControl.cs
- CalendarDay.cs
- OutputCacheProfile.cs
- SqlFactory.cs
- EnumMemberAttribute.cs
- Triangle.cs
- TailCallAnalyzer.cs
- ExpressionBuilderContext.cs
- DesignerEventService.cs