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
- AutoGeneratedField.cs
- SerializableAttribute.cs
- EnterpriseServicesHelper.cs
- NativeMethods.cs
- WebPartChrome.cs
- NativeMsmqMessage.cs
- AccessText.cs
- VariableDesigner.xaml.cs
- FilteredDataSetHelper.cs
- SoapFault.cs
- AsyncOperationManager.cs
- StringStorage.cs
- PartialCachingControl.cs
- PeerApplicationLaunchInfo.cs
- FontSourceCollection.cs
- CommandID.cs
- StringInfo.cs
- NavigatingCancelEventArgs.cs
- RequestCacheEntry.cs
- DynamicQueryableWrapper.cs
- ServiceMetadataContractBehavior.cs
- FixedSOMPageConstructor.cs
- IxmlLineInfo.cs
- Camera.cs
- FunctionQuery.cs
- ReversePositionQuery.cs
- XmlMembersMapping.cs
- SystemIPv4InterfaceProperties.cs
- XamlReaderHelper.cs
- SqlException.cs
- QuotedPairReader.cs
- columnmapkeybuilder.cs
- Query.cs
- MobileControlsSectionHelper.cs
- Rotation3DAnimationUsingKeyFrames.cs
- WebPartUtil.cs
- UpdateRecord.cs
- ComboBoxItem.cs
- Encoding.cs
- CharacterString.cs
- RPIdentityRequirement.cs
- RtfFormatStack.cs
- TraceUtility.cs
- bidPrivateBase.cs
- Resources.Designer.cs
- BaseConfigurationRecord.cs
- DictionaryTraceRecord.cs
- ItemsControl.cs
- FixedFlowMap.cs
- MessageRpc.cs
- TextProviderWrapper.cs
- SiteOfOriginContainer.cs
- BmpBitmapEncoder.cs
- ConnectionProviderAttribute.cs
- Focus.cs
- OutputCache.cs
- RegexMatchCollection.cs
- CheckBox.cs
- SpeakProgressEventArgs.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- EdmMember.cs
- DesignerTransaction.cs
- SelectionEditor.cs
- WebPartHelpVerb.cs
- TableStyle.cs
- StartUpEventArgs.cs
- ComponentChangedEvent.cs
- ApplicationCommands.cs
- BuildProvidersCompiler.cs
- ContentFileHelper.cs
- XmlValidatingReaderImpl.cs
- Hashtable.cs
- DesignerVerbCollection.cs
- HttpProtocolImporter.cs
- TypedTableBase.cs
- ByteAnimationUsingKeyFrames.cs
- WpfKnownType.cs
- Matrix.cs
- HttpCapabilitiesSectionHandler.cs
- MouseGestureValueSerializer.cs
- Collection.cs
- ZipIOBlockManager.cs
- TypefaceMap.cs
- HwndSourceKeyboardInputSite.cs
- Overlapped.cs
- DeviceContext2.cs
- DataGridState.cs
- PasswordDeriveBytes.cs
- MatrixUtil.cs
- SuppressMergeCheckAttribute.cs
- DataSysAttribute.cs
- Stack.cs
- PlainXmlWriter.cs
- OdbcErrorCollection.cs
- TypeSchema.cs
- log.cs
- TrustExchangeException.cs
- BindingGroup.cs
- SByteConverter.cs
- HierarchicalDataBoundControl.cs