Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / DataGridViewTopRowAccessibleObject.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProxyWebPart.cs
- DoubleLinkList.cs
- WebPartConnectionsEventArgs.cs
- WS2007FederationHttpBinding.cs
- ScriptControlManager.cs
- Event.cs
- ProxySimple.cs
- StandardToolWindows.cs
- DataGridViewToolTip.cs
- DateTimeUtil.cs
- DiscoveryServerProtocol.cs
- DataContractJsonSerializer.cs
- DynamicMetaObjectBinder.cs
- DrawingContext.cs
- SignatureConfirmationElement.cs
- ObjectTag.cs
- UnsafeNativeMethods.cs
- MemberProjectedSlot.cs
- StandardOleMarshalObject.cs
- ZipArchive.cs
- XmlBufferReader.cs
- WizardDesigner.cs
- XmlNullResolver.cs
- PaginationProgressEventArgs.cs
- DataServiceClientException.cs
- SmtpTransport.cs
- DesignerActionListCollection.cs
- ExpandSegment.cs
- WindowsGraphics2.cs
- PageVisual.cs
- HttpHandler.cs
- TextContainerChangedEventArgs.cs
- TypeToArgumentTypeConverter.cs
- XmlCountingReader.cs
- UnsafeNativeMethodsPenimc.cs
- DataContract.cs
- IUnknownConstantAttribute.cs
- SqlBulkCopy.cs
- StrongNameHelpers.cs
- RequestQueryParser.cs
- GridViewDeletedEventArgs.cs
- ViewgenContext.cs
- ServiceOperation.cs
- NetStream.cs
- _NegoStream.cs
- PagesSection.cs
- CollectionViewProxy.cs
- WebPartVerb.cs
- BitmapEffectInputData.cs
- SqlMethods.cs
- DataGridViewRowCancelEventArgs.cs
- TablePatternIdentifiers.cs
- XmlSchemaFacet.cs
- CharacterMetricsDictionary.cs
- ListenerAdapterBase.cs
- HttpCacheParams.cs
- FormsAuthenticationTicket.cs
- LogWriteRestartAreaAsyncResult.cs
- CacheRequest.cs
- ProcessThread.cs
- WorkflowServiceHost.cs
- DragCompletedEventArgs.cs
- ILGenerator.cs
- ChameleonKey.cs
- NativeMethods.cs
- DynamicResourceExtension.cs
- AdornedElementPlaceholder.cs
- RectAnimationBase.cs
- VirtualDirectoryMappingCollection.cs
- WsdlBuildProvider.cs
- SourceSwitch.cs
- BinaryObjectWriter.cs
- UnsafeNativeMethods.cs
- future.cs
- CodeAttributeArgument.cs
- XmlText.cs
- SoapAttributeOverrides.cs
- BasicExpandProvider.cs
- InvalidFilterCriteriaException.cs
- GridView.cs
- FlowPosition.cs
- EnterpriseServicesHelper.cs
- HwndSourceParameters.cs
- JumpList.cs
- ResXBuildProvider.cs
- BamlTreeMap.cs
- HeaderCollection.cs
- HwndSubclass.cs
- CodeMethodInvokeExpression.cs
- Pair.cs
- SvcFileManager.cs
- MexServiceChannelBuilder.cs
- SafeArrayRankMismatchException.cs
- ComboBoxItem.cs
- TabPage.cs
- ApplicationHost.cs
- ToolboxControl.cs
- RegexReplacement.cs
- OpenFileDialog.cs
- WorkflowNamespace.cs