Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

Vista Style Address Bar for .NET 2.0/WinForms

, 10 Apr 2010 CPOL
WinForms version of the Vista style address bar that can be extended to support more than just browsing the file system.
AddressBarExt.zip
AddressBarEx
AddressBarExt.csproj.user
AddressBarExt.suo
bin
Debug
AddressBarExt.exe
AddressBarExt.vshost.exe
Controls
Node
Interface
GRSD_LowCompat.ico
Properties
Settings.settings
AddressBarExt2.zip
AddressBarExt
AddressBarExt.suo
AddressBarEx_2.0
AddressBarExt_2.0.csproj.user
Backup
AddressBarExt.csproj.user
AddressBarExt.suo
Controls
Node
Interface
GRSD_LowCompat.ico
Properties
Settings.settings
bin
Controls
Node
Interface
obj
Debug
AddressBarExt.Controls.AddressBarExt.resources
AddressBarExt.csproj.GenerateResource.Cache
AddressBarExt.dll
AddressBarExt.exe
AddressBarExt.Form1.resources
AddressBarExt.pdb
AddressBarExt.Properties.Resources.resources
AddressBarExt_2.0.csproj.GenerateResource.Cache
Refactor
TempPE
Properties.Resources.Designer.cs.dll
Release
AddressBarExt.csproj.GenerateResource.Cache
AddressBarExt.exe
TempPE
Properties.Resources.Designer.cs.dll
Properties
Settings.settings
DemoApp_2.0
bin
DemoApp_2.0.csproj.user
GRSD_LowCompat.ico
obj
Debug
AddressBarExt.Form1.resources
DemoApp_2.0.csproj.GenerateResource.Cache
DemoApp_2.0.exe
DemoApp_2.0.pdb
DemoApp_2._0.Properties.Resources.resources
Refactor
ResolveAssemblyReference.cache
TempPE
Release
TempPE
Properties
Settings.settings
AddressBarExt2_1.zip
AddressBarExt2_1
AddressBarExt
AddressBarExt.suo
AddressBarEx_2.0
Controls
Node
Interface
Properties
Settings.settings
DemoApp_2.0
GRSD_LowCompat.ico
Properties
Settings.settings
#region Using Statements

#region .NET Namespace

using System;
using System.Drawing;

#endregion

#endregion

namespace AddressBarExt
{
    /// <summary>
    /// Interface for a traversable node used in the AddressBarExt control.
    /// 
    /// Author : James Strain
    /// Email : leon_STARS@hotmail.com
    /// Tested Platforms : Windows Vista Ultimate x64 / WinXP  Pro 32-bit
    /// 
    /// Additional Work Needed :
    /// 
    /// None that I am aware of...
    /// 
    /// </summary>
    public interface IAddressNode
    {
        /// <summary>
        /// Gets/Sets the parent of this node
        /// </summary>
        IAddressNode Parent
        {
            get;
            set;
        }

        /// <summary>
        /// Gets/Sets the Display name of this node
        /// </summary>
        String DisplayName
        {
            get;
            set;
        }

        /// <summary>
        /// Gets the Icon that represents this node type.
        /// </summary>
        Icon Icon
        {
            get;
        }

        /// <summary>
        /// Gets the Unique ID for this node
        /// </summary>
        Object UniqueID
        {
            get;
        }

        /// <summary>
        /// Gets/Sets any user defined extra data for this node
        /// </summary>
        Object Tag
        {
            get;
            set;
        }

        /// <summary>
        /// Gets an array of Child Nodes
        /// </summary>
        IAddressNode[] Children
        {
            get;
        }

        /// <summary>
        /// Method that updates this node to gather all relevant detail.
        /// </summary>
        void UpdateNode();

        /// <summary>
        /// Returns a given child, based on a unique ID
        /// </summary>
        /// <param name="uniqueID">Unique ID to identify the child</param>
        /// <param name="recursive">Indicates if the search should recurse through childrens children..</param>
        /// <returns>Returns the child node</returns>
        IAddressNode GetChild(object uniqueID, bool recursive);

        /// <summary>
        /// Clones a node.
        /// </summary>
        /// <returns>Clone of this node.</returns>
        IAddressNode Clone();
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

jwraith
Software Developer
United Kingdom United Kingdom
A graduate of the University of Dundee, and an ex-Microsoft UK Support Engineer currently happily employed at Codemasters, Southam.
Follow on   Twitter

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.141216.1 | Last Updated 10 Apr 2010
Article Copyright 2009 by jwraith
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid