65.9K
CodeProject is changing. Read more.
Home

Firefox Option Dialog User Control for .NET Win Apps

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.86/5 (12 votes)

Jan 19, 2007

CPOL

1 min read

viewsIcon

92407

downloadIcon

1565

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