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
- CreateUserWizardDesigner.cs
- SafeFreeMibTable.cs
- AdvancedBindingEditor.cs
- StrongTypingException.cs
- ScriptingProfileServiceSection.cs
- ScrollViewer.cs
- DataGridRelationshipRow.cs
- Variable.cs
- ClaimSet.cs
- MimeMapping.cs
- PipelineModuleStepContainer.cs
- DesignOnlyAttribute.cs
- Renderer.cs
- EnlistmentState.cs
- ListViewTableCell.cs
- COM2ExtendedUITypeEditor.cs
- DataSourceHelper.cs
- UnsafeNativeMethods.cs
- Model3D.cs
- InputScopeConverter.cs
- _AcceptOverlappedAsyncResult.cs
- RegexCapture.cs
- XD.cs
- StreamUpdate.cs
- JoinCqlBlock.cs
- PersistenceTypeAttribute.cs
- DbConnectionStringCommon.cs
- Transform.cs
- FixedSOMPageConstructor.cs
- ImportCatalogPart.cs
- SQLBinaryStorage.cs
- FlowLayoutSettings.cs
- EncryptedXml.cs
- ShaperBuffers.cs
- messageonlyhwndwrapper.cs
- SkinBuilder.cs
- Models.cs
- PropertyPath.cs
- DateTimeSerializationSection.cs
- XmlSchemaGroup.cs
- WebServiceData.cs
- XmlILModule.cs
- IpcChannel.cs
- Literal.cs
- pingexception.cs
- MinimizableAttributeTypeConverter.cs
- IsolatedStorageException.cs
- Timeline.cs
- NegatedConstant.cs
- CollectionBase.cs
- ChildDocumentBlock.cs
- WebResponse.cs
- ConfigurationManagerHelperFactory.cs
- SQLString.cs
- Array.cs
- OutputBuffer.cs
- ClientProxyGenerator.cs
- OdbcCommandBuilder.cs
- ellipse.cs
- XmlSerializerFactory.cs
- GeometryCollection.cs
- ClonableStack.cs
- ListViewDeletedEventArgs.cs
- PackageRelationshipSelector.cs
- MatrixTransform.cs
- PermissionRequestEvidence.cs
- UiaCoreProviderApi.cs
- HostedTcpTransportManager.cs
- SystemWebCachingSectionGroup.cs
- SchemaRegistration.cs
- RequestTimeoutManager.cs
- HighContrastHelper.cs
- OrderedDictionary.cs
- FixedSOMSemanticBox.cs
- xmlsaver.cs
- ExceptionHandlers.cs
- SqlDataSourceCache.cs
- ExtendedPropertyCollection.cs
- EntityDataSourceDataSelection.cs
- XmlArrayItemAttribute.cs
- DataGridViewRowCollection.cs
- ToolStripDropDownClosingEventArgs.cs
- NCryptNative.cs
- SqlWebEventProvider.cs
- CompilerWrapper.cs
- NotFiniteNumberException.cs
- SspiWrapper.cs
- ActivityCodeDomSerializationManager.cs
- WebPartVerb.cs
- EventRecord.cs
- CustomErrorsSection.cs
- RelationshipDetailsCollection.cs
- SystemColorTracker.cs
- WebWorkflowRole.cs
- GeometryValueSerializer.cs
- TypeLoadException.cs
- GenericTransactionFlowAttribute.cs
- DataRelationCollection.cs
- FlowchartDesignerCommands.cs
- ZoneIdentityPermission.cs