Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / TreeViewDesigner.cs / 1 / TreeViewDesigner.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.TreeViewDesigner..ctor()")] namespace System.Windows.Forms.Design { using System.Diagnostics; using System; using System.Design; using System.Drawing; using System.Windows.Forms; using Microsoft.Win32; using System.ComponentModel.Design; using System.ComponentModel; ////// /// This is the designer for tree view controls. It inherits /// from the base control designer and adds live hit testing /// capabilites for the tree view control. /// internal class TreeViewDesigner : ControlDesigner { private NativeMethods.TV_HITTESTINFO tvhit = new NativeMethods.TV_HITTESTINFO(); private DesignerActionListCollection _actionLists; private TreeView treeView = null; public TreeViewDesigner() { AutoResizeHandles = true; } ////// Disposes of this object. /// protected override void Dispose(bool disposing) { if (disposing) { if (treeView != null) { treeView.AfterExpand -= new System.Windows.Forms.TreeViewEventHandler(TreeViewInvalidate); treeView.AfterCollapse -= new System.Windows.Forms.TreeViewEventHandler(TreeViewInvalidate); treeView = null; } } base.Dispose(disposing); } ////// /// protected override bool GetHitTest(Point point) { point = Control.PointToClient(point); tvhit.pt_x = point.X; tvhit.pt_y = point.Y; NativeMethods.SendMessage(Control.Handle, NativeMethods.TVM_HITTEST, 0, tvhit); if (tvhit.flags == NativeMethods.TVHT_ONITEMBUTTON) return true; return false; } public override void Initialize(IComponent component) { base.Initialize(component); treeView = component as TreeView; Debug.Assert(treeView != null, "TreeView is null in TreeViewDesigner"); if (treeView != null) { treeView.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(TreeViewInvalidate); treeView.AfterCollapse += new System.Windows.Forms.TreeViewEventHandler(TreeViewInvalidate); } } private void TreeViewInvalidate(object sender, TreeViewEventArgs e) { if (treeView != null) { treeView.Invalidate(); } } public override DesignerActionListCollection ActionLists { get { if (_actionLists == null) { _actionLists = new DesignerActionListCollection(); _actionLists.Add(new TreeViewActionList(this)); } return _actionLists; } } } internal class TreeViewActionList : DesignerActionList { private TreeViewDesigner _designer; public TreeViewActionList(TreeViewDesigner designer) : base(designer.Component) { _designer = designer; } public void InvokeNodesDialog() { EditorServiceContext.EditValue(_designer, Component, "Nodes"); } public ImageList ImageList { get { return ((TreeView)Component).ImageList; } set { TypeDescriptor.GetProperties(Component)["ImageList"].SetValue(Component, value); } } public override DesignerActionItemCollection GetSortedActionItems() { DesignerActionItemCollection items = new DesignerActionItemCollection(); items.Add(new DesignerActionMethodItem(this, "InvokeNodesDialog", SR.GetString(SR.InvokeNodesDialogDisplayName), SR.GetString(SR.PropertiesCategoryName), SR.GetString(SR.InvokeNodesDialogDescription), true)); items.Add(new DesignerActionPropertyItem("ImageList", SR.GetString(SR.ImageListDisplayName), SR.GetString(SR.PropertiesCategoryName), SR.GetString(SR.ImageListDescription))); return items; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.Allows your component to support a design time user interface. A TabStrip /// control, for example, has a design time user interface that allows the user /// to click the tabs to change tabs. To implement this, TabStrip returns /// true whenever the given point is within its tabs. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableLayoutColumnStyleCollection.cs
- CodeAttributeDeclaration.cs
- RowToParametersTransformer.cs
- PersonalizationDictionary.cs
- SecurityTokenInclusionMode.cs
- PrinterResolution.cs
- Empty.cs
- BitmapSizeOptions.cs
- IpcPort.cs
- LinqDataSourceDeleteEventArgs.cs
- ScriptResourceInfo.cs
- BuildManagerHost.cs
- MarginCollapsingState.cs
- BuilderInfo.cs
- ToolStripSplitStackLayout.cs
- XPathNavigatorReader.cs
- ChildDocumentBlock.cs
- EventSourceCreationData.cs
- uribuilder.cs
- AssociationSetEnd.cs
- ErrorHandler.cs
- ToolBarTray.cs
- SimpleLine.cs
- ListMarkerSourceInfo.cs
- WebConfigurationFileMap.cs
- Control.cs
- CustomErrorCollection.cs
- MergeFailedEvent.cs
- DesignerGeometryHelper.cs
- ColorTranslator.cs
- TryLoadRunnableWorkflowCommand.cs
- SQLInt64Storage.cs
- ValidatedControlConverter.cs
- DataGridViewAdvancedBorderStyle.cs
- FrameworkElement.cs
- ToolBar.cs
- AddValidationError.cs
- MarkupWriter.cs
- NestPullup.cs
- EdmItemCollection.OcAssemblyCache.cs
- ViewStateChangedEventArgs.cs
- FactoryGenerator.cs
- StylusPlugin.cs
- ObjectPropertyMapping.cs
- COM2PictureConverter.cs
- RefreshPropertiesAttribute.cs
- EncryptedReference.cs
- FieldAccessException.cs
- XmlSchemaAnnotation.cs
- WebPartEventArgs.cs
- ToolStripHighContrastRenderer.cs
- CodeIdentifiers.cs
- ElasticEase.cs
- CoTaskMemHandle.cs
- IntegerValidatorAttribute.cs
- Scheduler.cs
- ImageFormatConverter.cs
- ValidationResult.cs
- ValueHandle.cs
- CrossContextChannel.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- WebBrowserNavigatedEventHandler.cs
- IIS7WorkerRequest.cs
- WebPartAddingEventArgs.cs
- DynamicILGenerator.cs
- OutputBuffer.cs
- IssuanceLicense.cs
- ObjectDisposedException.cs
- TextParagraphCache.cs
- SystemGatewayIPAddressInformation.cs
- XamlStream.cs
- LocatorPart.cs
- SqlConnectionHelper.cs
- WebEventTraceProvider.cs
- CustomAttributeBuilder.cs
- SingleAnimationBase.cs
- CompressStream.cs
- EncoderFallback.cs
- TripleDES.cs
- CharacterBufferReference.cs
- StylusButton.cs
- Rectangle.cs
- ZipIOExtraFieldElement.cs
- StaticTextPointer.cs
- TypeConstant.cs
- TypeValidationEventArgs.cs
- ComplexType.cs
- SimpleFieldTemplateFactory.cs
- SplineKeyFrames.cs
- DataSourceExpression.cs
- DataGridViewCheckBoxCell.cs
- ColorConvertedBitmap.cs
- ContextMenuAutomationPeer.cs
- DiagnosticEventProvider.cs
- ServiceAuthorizationElement.cs
- ToolBar.cs
- UnsafeNativeMethods.cs
- QuaternionAnimation.cs
- ValueType.cs
- TrustManagerPromptUI.cs