Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Firefox Option Dialog User Control for .NET Win Apps

0.00/5 (No votes)
19 Jan 2007 1  
Have your .NET Windows application cool Firefox option dialog with almost no effort. This user control is written in C# and could be used in any .NET compliant language.
ControlFirefoxDialog.jpg

Introduction

Firefox Dialog is a user control that you could easily add in your application with minimum coding to have a Firefox like options dialog in your .NET app. Control.FirefoxDialog is just 24kb with 72kb MozBar implementation (96kb total).

Background

Patrik Bohman has provided a great control named MozBar. While another C# Win App PagedDialog (unfortunately I don't remember the URL and author name) provided a basic property page implementation, what I was looking for is a combination of the above two, i.e., a Firefox like Options dialog. I wish too that it requires almost no effort to add Firefox like options dialog in your application.

Using the Control

  • Compile Control.FirefoxDialog project to obtain DLL
  • Create a Windows Application project and add a form Form1
  • Right click on Toolbox and click Choose Items...
  • Select/Browse for Control.FirefoxDialog.dll
  • In Toolbox, look for FirefoxDialog Control and drag drop on Form1
  • Add an imageList imageList1 in Form1 and include one image for each tab
  • Add a user control PageEmail derived from Control.FirefoxDialog.PropertyPage
  • Similarly add other pages/tabs user control
  • Now type the following code in your Form1_Load:
private void Form1_Load(object sender, EventArgs e)
{
    this.firefoxDialog1.ImageList = this.imageList1;

    this.firefoxDialog1.AddPage("Main", new PageMain());
    this.firefoxDialog1.AddPage("Email", new PageEmail());
    this.firefoxDialog1.AddPage("Internet", new PageInternet());
    this.firefoxDialog1.AddPage("Spell", new PageSpell());
    this.firefoxDialog1.AddPage("Favourites", new PageFav());

    this.firefoxDialog1.Init();
}

This is it! Press F5 to run the application. You could override the following in your user controls:

namespace Demo
{
    public partial class PageEmail : Control.FirefoxDialog.PropertyPage
    {
        public PageEmail()
        {
            InitializeComponent();
        }

        public override void OnInit()
        {
            MessageBox.Show("PageEmail.OnInit Called.
		Put your loading logic here.
		Note that this method is called only Once!", "Control.FirefoxDialog");
        }

        public override void OnSetActive()
        {
            MessagBox.Show("PageEmail.OnSetActive Called.
		Put code that you wish to call whenever Email tab become active.
		Note that this method will be every time Email is activated!", 
		"Control.FirefoxDialog");
        }

        public override void OnApply()
        {
            MessageBox.Show("PageEmail.OnApply Called.
		Put your saving logic here.
		It will be called when you hit Apply button.", 
		"Control.FirefoxDialog");
        }
    }
}

History

  • 19th January, 2007: Initial post

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here