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
- ObjectDataSourceView.cs
- NodeLabelEditEvent.cs
- TypographyProperties.cs
- FontCollection.cs
- ErrorHandlingReceiver.cs
- MeshGeometry3D.cs
- SchemaMapping.cs
- DataConnectionHelper.cs
- InvalidContentTypeException.cs
- TypeElement.cs
- HtmlForm.cs
- ToolStripPanelRenderEventArgs.cs
- CommandManager.cs
- SharedHttpTransportManager.cs
- IDReferencePropertyAttribute.cs
- InputProcessorProfiles.cs
- LinkTarget.cs
- StorageMappingItemLoader.cs
- ArrayWithOffset.cs
- DataControlField.cs
- ColorBlend.cs
- RenderContext.cs
- CalendarAutoFormat.cs
- TypeLibConverter.cs
- SqlServer2KCompatibilityCheck.cs
- Aggregates.cs
- ToolStripPanelRow.cs
- DataSourceControlBuilder.cs
- XmlBinaryReader.cs
- ToolboxService.cs
- ParameterElementCollection.cs
- Emitter.cs
- SoapFormatter.cs
- TypeValidationEventArgs.cs
- FrameworkContentElement.cs
- ScrollEvent.cs
- MLangCodePageEncoding.cs
- FontCacheUtil.cs
- HttpInputStream.cs
- PointAnimationUsingPath.cs
- KeyedHashAlgorithm.cs
- ApplicationDirectory.cs
- DataGridViewImageColumn.cs
- IISMapPath.cs
- UnmanagedMarshal.cs
- GeneralTransform2DTo3DTo2D.cs
- TripleDES.cs
- ListControl.cs
- SafeRightsManagementQueryHandle.cs
- XmlSchemaDatatype.cs
- BoundColumn.cs
- SqlConnectionString.cs
- XmlSchemaImport.cs
- FieldAccessException.cs
- hebrewshape.cs
- StylusOverProperty.cs
- ZipIOExtraField.cs
- SqlNamer.cs
- KoreanLunisolarCalendar.cs
- InheritanceContextChangedEventManager.cs
- PenThreadPool.cs
- StreamReader.cs
- PartialCachingControl.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DataGridItem.cs
- XLinq.cs
- TemplateGroupCollection.cs
- CanonicalFormWriter.cs
- RectValueSerializer.cs
- TaiwanCalendar.cs
- AllMembershipCondition.cs
- ErrorFormatter.cs
- PagesSection.cs
- EntityDesignPluralizationHandler.cs
- ListBase.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- HWStack.cs
- TraceUtility.cs
- XmlEntityReference.cs
- StateWorkerRequest.cs
- XmlSchemaExporter.cs
- SqlErrorCollection.cs
- EventlogProvider.cs
- CultureInfo.cs
- ToolStripPanelSelectionGlyph.cs
- PriorityBinding.cs
- ItemContainerGenerator.cs
- ClientRoleProvider.cs
- RenderCapability.cs
- StreamInfo.cs
- ReturnValue.cs
- RadialGradientBrush.cs
- SmtpFailedRecipientsException.cs
- SetStoryboardSpeedRatio.cs
- MenuItem.cs
- MaskedTextBox.cs
- PropertyItem.cs
- updateconfighost.cs
- SelectedDatesCollection.cs
- ObjectSecurity.cs