Code:
/ FX-1434 / FX-1434 / 1.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
- ViewManager.cs
- Pkcs7Recipient.cs
- GroupBoxAutomationPeer.cs
- TableCellAutomationPeer.cs
- XmlQualifiedName.cs
- ObjectDataSourceEventArgs.cs
- SafeNativeMethodsMilCoreApi.cs
- SqlDataSourceCache.cs
- Graphics.cs
- NamedObject.cs
- ColorConverter.cs
- PathGeometry.cs
- OrderablePartitioner.cs
- QilReplaceVisitor.cs
- PathHelper.cs
- ClientConvert.cs
- FlowLayoutSettings.cs
- CollectionContainer.cs
- HandleRef.cs
- BindableAttribute.cs
- CommonGetThemePartSize.cs
- FixedTextSelectionProcessor.cs
- ObjectDataSourceSelectingEventArgs.cs
- DesignUtil.cs
- WebPartVerb.cs
- PocoEntityKeyStrategy.cs
- QueryAccessibilityHelpEvent.cs
- ColorContext.cs
- WebResourceUtil.cs
- FocusTracker.cs
- JumpPath.cs
- Switch.cs
- SafeFileMappingHandle.cs
- FunctionCommandText.cs
- GridViewColumnCollection.cs
- EventEntry.cs
- WmlPageAdapter.cs
- TextTreeExtractElementUndoUnit.cs
- XmlSerializerVersionAttribute.cs
- MatrixTransform.cs
- VBIdentifierName.cs
- JsonFaultDetail.cs
- TextElementCollection.cs
- CustomError.cs
- Context.cs
- XXXOnTypeBuilderInstantiation.cs
- SchemaImporterExtension.cs
- LogFlushAsyncResult.cs
- AdapterUtil.cs
- TextTrailingWordEllipsis.cs
- TemplateComponentConnector.cs
- WebPartsSection.cs
- Trace.cs
- HashStream.cs
- FileDialogPermission.cs
- DataKeyArray.cs
- Table.cs
- EntityCommandCompilationException.cs
- FormsAuthenticationUserCollection.cs
- NullRuntimeConfig.cs
- AuthenticationConfig.cs
- SchemaElement.cs
- xmlformatgeneratorstatics.cs
- EmbeddedMailObject.cs
- sqlcontext.cs
- ChangeInterceptorAttribute.cs
- TrackBar.cs
- AnchoredBlock.cs
- PingReply.cs
- ShortcutKeysEditor.cs
- CreateUserWizardStep.cs
- Padding.cs
- ApplicationSecurityManager.cs
- DispatchChannelSink.cs
- EditorOptionAttribute.cs
- AppModelKnownContentFactory.cs
- SystemWebSectionGroup.cs
- ToolStripInSituService.cs
- FormatSettings.cs
- InputReport.cs
- RouteValueExpressionBuilder.cs
- ValuePattern.cs
- XmlCDATASection.cs
- ViewEventArgs.cs
- SubclassTypeValidator.cs
- DoubleLinkListEnumerator.cs
- RichTextBoxAutomationPeer.cs
- ZipIOExtraField.cs
- PerfProviderCollection.cs
- SendKeys.cs
- VoiceObjectToken.cs
- TextDataBindingHandler.cs
- RangeValueProviderWrapper.cs
- OpenTypeLayoutCache.cs
- AnimationStorage.cs
- PrivateFontCollection.cs
- Span.cs
- CqlGenerator.cs
- IsolatedStoragePermission.cs
- FieldMetadata.cs