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
- ParagraphResult.cs
- Rectangle.cs
- NullEntityWrapper.cs
- SetStoryboardSpeedRatio.cs
- ActivityTypeDesigner.xaml.cs
- Attachment.cs
- Header.cs
- ThreadInterruptedException.cs
- StringKeyFrameCollection.cs
- ObjectToken.cs
- EntryPointNotFoundException.cs
- MappingItemCollection.cs
- ConstructorArgumentAttribute.cs
- ExpandCollapseProviderWrapper.cs
- ValidationRule.cs
- RequestQueryParser.cs
- GridViewHeaderRowPresenter.cs
- PrimitiveCodeDomSerializer.cs
- BatchServiceHost.cs
- graph.cs
- FixedSOMElement.cs
- TableCell.cs
- EventLogEntry.cs
- VisualTarget.cs
- ScriptReferenceBase.cs
- ProcessStartInfo.cs
- MaskedTextProvider.cs
- ReadOnlyDictionary.cs
- IncrementalHitTester.cs
- InvalidFilterCriteriaException.cs
- WindowsTooltip.cs
- Pair.cs
- EntityUtil.cs
- NavigationPropertySingletonExpression.cs
- UnsafeNativeMethods.cs
- Variant.cs
- EpmSyndicationContentDeSerializer.cs
- DataBindingHandlerAttribute.cs
- UInt16Converter.cs
- JsonFormatGeneratorStatics.cs
- SafeBitVector32.cs
- HtmlHistory.cs
- ResolveNameEventArgs.cs
- ButtonColumn.cs
- ToolStripDropTargetManager.cs
- FileLogRecord.cs
- ClaimComparer.cs
- PropertyDescriptorCollection.cs
- TraceFilter.cs
- RequestContext.cs
- RevocationPoint.cs
- XamlStyleSerializer.cs
- safemediahandle.cs
- Token.cs
- SQLDateTime.cs
- Point.cs
- SchemaImporterExtension.cs
- ListBoxAutomationPeer.cs
- HwndHost.cs
- SafeNativeMethods.cs
- ServiceModelExtensionCollectionElement.cs
- PaintEvent.cs
- PrtCap_Builder.cs
- DrawingContextDrawingContextWalker.cs
- TextEditorSelection.cs
- DetailsViewInsertedEventArgs.cs
- RewritingProcessor.cs
- ProcessModuleCollection.cs
- TypePropertyEditor.cs
- xamlnodes.cs
- JsonXmlDataContract.cs
- TransformerInfo.cs
- ExpandSegmentCollection.cs
- NavigationPropertyEmitter.cs
- UniformGrid.cs
- CharacterBuffer.cs
- OleDbParameter.cs
- QuestionEventArgs.cs
- StorageAssociationTypeMapping.cs
- NestPullup.cs
- _AuthenticationState.cs
- XpsS0ValidatingLoader.cs
- SetStateEventArgs.cs
- StringExpressionSet.cs
- DataGridViewCellFormattingEventArgs.cs
- ExecutionContext.cs
- DataGridViewRow.cs
- Quaternion.cs
- ApplicationServicesHostFactory.cs
- BinHexEncoder.cs
- StructuredType.cs
- LassoSelectionBehavior.cs
- ThreadAbortException.cs
- StringValueSerializer.cs
- LogicalExpr.cs
- AssemblyUtil.cs
- SafeIUnknown.cs
- DataSourceComponent.cs
- _SecureChannel.cs
- ToolboxItemCollection.cs