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
- TypeUsage.cs
- AnimationClock.cs
- AsymmetricAlgorithm.cs
- tooltip.cs
- IEnumerable.cs
- NetCodeGroup.cs
- SqlWorkflowInstanceStore.cs
- ReliableSession.cs
- GeometryCombineModeValidation.cs
- ThreadAbortException.cs
- NotImplementedException.cs
- ChtmlPageAdapter.cs
- ClientScriptManager.cs
- XhtmlConformanceSection.cs
- X509CertificateCollection.cs
- WebResourceAttribute.cs
- HitTestParameters.cs
- DateTimeFormatInfoScanner.cs
- ServiceDescriptionData.cs
- EnumType.cs
- CompilerError.cs
- ScrollData.cs
- XmlSerializationReader.cs
- DateTimeConverter2.cs
- NativeRightsManagementAPIsStructures.cs
- X509ThumbprintKeyIdentifierClause.cs
- BufferModesCollection.cs
- ProtocolElementCollection.cs
- SchemaObjectWriter.cs
- ConnectionPoint.cs
- SignatureDescription.cs
- StrokeNode.cs
- _ShellExpression.cs
- XmlReaderSettings.cs
- TracePayload.cs
- ClickablePoint.cs
- XmlValidatingReaderImpl.cs
- ModelChangedEventArgsImpl.cs
- XpsPackagingException.cs
- HtmlInputButton.cs
- DynamicActionMessageFilter.cs
- ConfigurationStrings.cs
- ErrorProvider.cs
- DocumentCollection.cs
- SocketManager.cs
- WizardSideBarListControlItem.cs
- NodeLabelEditEvent.cs
- EdmProviderManifest.cs
- COAUTHIDENTITY.cs
- Environment.cs
- XmlSerializerAssemblyAttribute.cs
- SmtpAuthenticationManager.cs
- MetroSerializationManager.cs
- InitializerFacet.cs
- SerializerProvider.cs
- GZipStream.cs
- XmlSchemaChoice.cs
- EntityDataSourceReferenceGroup.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- WorkflowDesignerMessageFilter.cs
- Graphics.cs
- RenderData.cs
- PenContexts.cs
- WebPartManagerInternals.cs
- IdentityModelDictionary.cs
- TextServicesProperty.cs
- Decoder.cs
- ClientFormsAuthenticationCredentials.cs
- CompilerError.cs
- WebEventTraceProvider.cs
- UnsafeNativeMethods.cs
- XmlCustomFormatter.cs
- DependencyPropertyAttribute.cs
- XamlVector3DCollectionSerializer.cs
- HostedHttpTransportManager.cs
- TrueReadOnlyCollection.cs
- WindowsRegion.cs
- SubMenuStyleCollection.cs
- Version.cs
- Application.cs
- TimeSpan.cs
- ISAPIWorkerRequest.cs
- WebPermission.cs
- AtomContentProperty.cs
- FixedDocumentPaginator.cs
- XmlBaseWriter.cs
- ControlParameter.cs
- LayoutTableCell.cs
- SaveFileDialog.cs
- RegexWorker.cs
- FormsAuthenticationEventArgs.cs
- ZoneLinkButton.cs
- SafeNativeHandle.cs
- DbDataAdapter.cs
- NTAccount.cs
- PersonalizationProvider.cs
- ResourceProviderFactory.cs
- DataGridColumnsPage.cs
- CodeAttributeDeclaration.cs
- ErrorWebPart.cs