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
- AccessControlList.cs
- TcpHostedTransportConfiguration.cs
- XMLSyntaxException.cs
- MonikerHelper.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- DbInsertCommandTree.cs
- TimelineCollection.cs
- ProviderBase.cs
- CreateParams.cs
- UdpMessageProperty.cs
- TextEditorCharacters.cs
- WebPartTransformerCollection.cs
- SiteMapNode.cs
- BezierSegment.cs
- HtmlContainerControl.cs
- HtmlGenericControl.cs
- PageRanges.cs
- DataGridViewCheckBoxCell.cs
- PointAnimationUsingKeyFrames.cs
- XmlSchemaInclude.cs
- WebPartMenuStyle.cs
- Cursors.cs
- DrawListViewItemEventArgs.cs
- JpegBitmapEncoder.cs
- TextEditorSpelling.cs
- OpenTypeLayout.cs
- DataGridViewUtilities.cs
- WmlValidatorAdapter.cs
- KeyFrames.cs
- SchemaImporter.cs
- UpdatePanelControlTrigger.cs
- ContentPlaceHolderDesigner.cs
- StartUpEventArgs.cs
- ConfigurationException.cs
- WindowsRichEdit.cs
- TransferRequestHandler.cs
- ReflectionTypeLoadException.cs
- EntityClassGenerator.cs
- DesigntimeLicenseContextSerializer.cs
- CompilerError.cs
- SafeReversePInvokeHandle.cs
- DbConvert.cs
- ReadOnlyKeyedCollection.cs
- KeyboardDevice.cs
- TypefaceMap.cs
- PassportAuthentication.cs
- SqlProviderServices.cs
- KeyPullup.cs
- Encoder.cs
- ValidatorCollection.cs
- ipaddressinformationcollection.cs
- QilStrConcat.cs
- DataTablePropertyDescriptor.cs
- PersistencePipeline.cs
- TextBoxBase.cs
- SqlDataSourceCache.cs
- selecteditemcollection.cs
- OleDbRowUpdatedEvent.cs
- EllipticalNodeOperations.cs
- SqlDataSourceCommandEventArgs.cs
- SizeAnimation.cs
- FloaterBaseParagraph.cs
- SimpleBitVector32.cs
- ImageField.cs
- CodeArrayIndexerExpression.cs
- SQLInt16.cs
- TimeoutValidationAttribute.cs
- NativeMethods.cs
- MailWebEventProvider.cs
- HierarchicalDataSourceDesigner.cs
- CellRelation.cs
- DataSourceConverter.cs
- RadioButtonPopupAdapter.cs
- WindowsFormsHelpers.cs
- recordstatefactory.cs
- SpecialNameAttribute.cs
- HandlerBase.cs
- RawStylusInputCustomData.cs
- ConfigurationStrings.cs
- InvalidOleVariantTypeException.cs
- EncoderParameters.cs
- WindowsListViewGroupHelper.cs
- oledbmetadatacollectionnames.cs
- PlainXmlSerializer.cs
- MachineKeySection.cs
- WebPartCloseVerb.cs
- ProxyHwnd.cs
- WebPartDeleteVerb.cs
- LayoutInformation.cs
- MethodRental.cs
- RecordManager.cs
- BitmapEffect.cs
- DateTimePickerDesigner.cs
- SingleStorage.cs
- DataFormat.cs
- CompilationSection.cs
- CreateParams.cs
- EntityStoreSchemaFilterEntry.cs
- PrintPreviewGraphics.cs
- IdnMapping.cs