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
- CryptoConfig.cs
- ModelPropertyImpl.cs
- ModelItemExtensions.cs
- bidPrivateBase.cs
- WindowsScrollBar.cs
- LayoutUtils.cs
- SpellerError.cs
- MenuBase.cs
- ReadingWritingEntityEventArgs.cs
- TemplateControl.cs
- LiteralControl.cs
- TextRangeBase.cs
- basecomparevalidator.cs
- XmlAnyElementAttribute.cs
- TreeNode.cs
- WindowsListViewSubItem.cs
- BrowserCapabilitiesCompiler.cs
- GeometryValueSerializer.cs
- TypeBrowserDialog.cs
- precedingquery.cs
- DirectionalLight.cs
- SevenBitStream.cs
- PaperSize.cs
- LocalizableResourceBuilder.cs
- ContextBase.cs
- DbConnectionPoolIdentity.cs
- CardSpaceSelector.cs
- CounterCreationDataCollection.cs
- WindowsContainer.cs
- Token.cs
- Baml6ConstructorInfo.cs
- LockCookie.cs
- StylusEventArgs.cs
- IOThreadTimer.cs
- XamlToRtfWriter.cs
- NestedContainer.cs
- RtfControlWordInfo.cs
- PassportPrincipal.cs
- StatusBarItem.cs
- CheckedListBox.cs
- SamlSecurityTokenAuthenticator.cs
- AppDomainShutdownMonitor.cs
- SharedStream.cs
- LocalizedNameDescriptionPair.cs
- CharKeyFrameCollection.cs
- SafeArrayRankMismatchException.cs
- BrowserCapabilitiesCodeGenerator.cs
- BrowsableAttribute.cs
- UseManagedPresentationBindingElementImporter.cs
- ToolStripContentPanelRenderEventArgs.cs
- IUnknownConstantAttribute.cs
- SimpleRecyclingCache.cs
- AdjustableArrowCap.cs
- TreeSet.cs
- _SslState.cs
- XmlAttributeOverrides.cs
- IDReferencePropertyAttribute.cs
- BamlWriter.cs
- WebZone.cs
- _NetRes.cs
- SerialPinChanges.cs
- ExpressionEvaluator.cs
- ISAPIWorkerRequest.cs
- COM2FontConverter.cs
- Floater.cs
- CapiNative.cs
- SystemTcpConnection.cs
- ExtendedProtectionPolicy.cs
- ConfigurationElementProperty.cs
- XmlSchemaAnnotation.cs
- DataControlFieldTypeEditor.cs
- GeometryValueSerializer.cs
- PieceDirectory.cs
- TagMapCollection.cs
- AttributeProviderAttribute.cs
- PixelShader.cs
- CompoundFileReference.cs
- EntityDataReader.cs
- GridViewRowPresenterBase.cs
- X509AsymmetricSecurityKey.cs
- FunctionMappingTranslator.cs
- WindowsStartMenu.cs
- XMLSchema.cs
- OleDbDataAdapter.cs
- VoiceChangeEventArgs.cs
- DesignObjectWrapper.cs
- StreamHelper.cs
- propertytag.cs
- TypeExtension.cs
- WebPartZoneAutoFormat.cs
- DelimitedListTraceListener.cs
- ValueTable.cs
- InkCanvas.cs
- Hex.cs
- GridErrorDlg.cs
- RowToFieldTransformer.cs
- SerializationEventsCache.cs
- TableLayoutPanel.cs
- Freezable.cs
- ArgumentValidation.cs