Click here to Skip to main content
15,867,749 members
Articles / Programming Languages / C#

Firefox Option Dialog User Control for .NET Win Apps

Rate me:
Please Sign up or sign in to vote.
4.86/5 (13 votes)
19 Jan 2007CPOL1 min read 90.6K   1.6K   90   15
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:
C#
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:

C#
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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Pakistan Pakistan
Software engineer developing solutions using Microsoft technologies.

Comments and Discussions

 
GeneralLicense Pin
Teflon12-Oct-08 1:40
Teflon12-Oct-08 1:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.