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
- FormatConvertedBitmap.cs
- COAUTHIDENTITY.cs
- ZipIOLocalFileHeader.cs
- CollectionAdapters.cs
- _ListenerResponseStream.cs
- LogSwitch.cs
- TextSelectionProcessor.cs
- XmlWriterTraceListener.cs
- XmlJsonReader.cs
- unsafeIndexingFilterStream.cs
- SqlRecordBuffer.cs
- CommonProperties.cs
- BitmapEffectInputData.cs
- CodeSnippetTypeMember.cs
- TypeConverterValueSerializer.cs
- ProcessModelSection.cs
- Compiler.cs
- FindCriteriaElement.cs
- DocumentAutomationPeer.cs
- ZipFileInfoCollection.cs
- ContractHandle.cs
- FixedElement.cs
- XsltException.cs
- MonthChangedEventArgs.cs
- LogSwitch.cs
- AssociationSetEnd.cs
- WrappedIUnknown.cs
- TextClipboardData.cs
- Win32.cs
- DNS.cs
- WindowsListViewItem.cs
- ToolStripItemRenderEventArgs.cs
- DataGridColumnStyleMappingNameEditor.cs
- AttributeData.cs
- XamlPathDataSerializer.cs
- XPathAncestorQuery.cs
- BitmapMetadata.cs
- UrlSyndicationContent.cs
- MaterialGroup.cs
- ellipse.cs
- NativeActivityFaultContext.cs
- TimeIntervalCollection.cs
- InternalUserCancelledException.cs
- CodeMemberMethod.cs
- TableCell.cs
- Exceptions.cs
- HttpApplicationFactory.cs
- RootBrowserWindowAutomationPeer.cs
- DataObject.cs
- SchemaConstraints.cs
- ServiceDesigner.cs
- CapabilitiesState.cs
- X509CertificateValidator.cs
- StrokeIntersection.cs
- DataGridPagerStyle.cs
- GuidelineCollection.cs
- SectionRecord.cs
- Floater.cs
- InternalDuplexBindingElement.cs
- DocumentPageViewAutomationPeer.cs
- SoapElementAttribute.cs
- AsyncDataRequest.cs
- Converter.cs
- FirstQueryOperator.cs
- PersonalizationState.cs
- DataGridViewCellStyleChangedEventArgs.cs
- DockPattern.cs
- NumberFormatter.cs
- WebPartZoneBase.cs
- ContextToken.cs
- DeclarativeCatalogPart.cs
- QilLoop.cs
- UIElementCollection.cs
- ProxyHwnd.cs
- Win32Native.cs
- IconBitmapDecoder.cs
- SessionStateUtil.cs
- TransformerTypeCollection.cs
- XmlAttributeOverrides.cs
- SecondaryIndexList.cs
- TypeConverterValueSerializer.cs
- IisTraceListener.cs
- MimeAnyImporter.cs
- ValidationRuleCollection.cs
- XamlClipboardData.cs
- DataGridRelationshipRow.cs
- InputLanguageCollection.cs
- FileVersion.cs
- PrimitiveDataContract.cs
- BitmapMetadata.cs
- ConnectionPointCookie.cs
- TraceContextRecord.cs
- HttpDictionary.cs
- GridViewPageEventArgs.cs
- sortedlist.cs
- PrintPreviewDialog.cs
- CreatingCookieEventArgs.cs
- WCFServiceClientProxyGenerator.cs
- PermissionRequestEvidence.cs
- ColumnTypeConverter.cs