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
- SQLBytes.cs
- IteratorDescriptor.cs
- SizeAnimation.cs
- DBAsyncResult.cs
- ObjectCache.cs
- RowUpdatingEventArgs.cs
- HttpRequestWrapper.cs
- TreeView.cs
- ReliableMessagingVersion.cs
- WizardForm.cs
- ListParaClient.cs
- OrderedDictionary.cs
- IDQuery.cs
- ContextQuery.cs
- RightsManagementInformation.cs
- FixedDocument.cs
- XPathScanner.cs
- Bezier.cs
- MonthChangedEventArgs.cs
- xml.cs
- OdbcErrorCollection.cs
- TypefaceMetricsCache.cs
- CheckPair.cs
- ExecutionEngineException.cs
- Polyline.cs
- DesignSurfaceEvent.cs
- Command.cs
- Itemizer.cs
- ObfuscationAttribute.cs
- BuildResult.cs
- WebExceptionStatus.cs
- InProcStateClientManager.cs
- MenuItemStyleCollectionEditor.cs
- StorageAssociationSetMapping.cs
- AnimatedTypeHelpers.cs
- UnaryNode.cs
- ToolTip.cs
- ProjectionPruner.cs
- AvTraceFormat.cs
- HostingEnvironmentException.cs
- odbcmetadatacolumnnames.cs
- WebContext.cs
- ApplicationFileParser.cs
- Menu.cs
- ExpressionConverter.cs
- HttpFileCollection.cs
- UInt32Converter.cs
- SqlBooleanMismatchVisitor.cs
- CrossSiteScriptingValidation.cs
- SizeAnimationUsingKeyFrames.cs
- CodeEntryPointMethod.cs
- XmlSchemaInfo.cs
- DocumentReference.cs
- CallbackValidator.cs
- IndentedTextWriter.cs
- CornerRadius.cs
- Image.cs
- BitmapPalette.cs
- StringPropertyBuilder.cs
- mansign.cs
- FullTextState.cs
- TextEditorLists.cs
- SeverityFilter.cs
- LinkDesigner.cs
- TextServicesDisplayAttributePropertyRanges.cs
- PagesChangedEventArgs.cs
- Exceptions.cs
- AtomContentProperty.cs
- KeyBinding.cs
- CompatibleComparer.cs
- ApplicationDirectory.cs
- StorageRoot.cs
- SimpleHandlerBuildProvider.cs
- SelfIssuedSamlTokenFactory.cs
- SemanticTag.cs
- COMException.cs
- GradientStop.cs
- ReadOnlyHierarchicalDataSourceView.cs
- SqlUdtInfo.cs
- PrePrepareMethodAttribute.cs
- PanelStyle.cs
- ClientSection.cs
- AttributeSetAction.cs
- DataControlImageButton.cs
- TextProperties.cs
- HandlerMappingMemo.cs
- RowsCopiedEventArgs.cs
- TaskHelper.cs
- WebServiceBindingAttribute.cs
- DeviceSpecific.cs
- AnnotationStore.cs
- PageParserFilter.cs
- MonthCalendar.cs
- CurrentChangingEventArgs.cs
- _SecureChannel.cs
- SqlFunctionAttribute.cs
- SplineKeyFrames.cs
- StringCollection.cs
- GuidTagList.cs
- SynthesizerStateChangedEventArgs.cs