Download MessageFilterDemo.zip, last updated 01/01/2019 (11.93 KB)

Download
  • md5: dd6db4054824db8b977c862915aff068
  • sha1: 6bb3415a3961d9cbc340e034ddea7f89193c95f2
  • sha256: 4b813ad6c216885567cf570f290919e9043cee4a865a06a56b864f8f323a1a8d
using System;
using System.Windows.Forms;

// Using message filters in Windows Forms applications
// http://cyotek.com/blog/using-message-filters-in-windows-forms-applications
// Copyright © 2019 Cyotek Ltd. All Rights Reserved.

// This work is licensed under the Creative Commons Attribution 4.0 International License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.

// Found this example useful? 
// https://www.paypal.me/cyotek

namespace Cyotek.Demonstrations.MessageFilter
{
  public partial class MainForm : Form
  {
    #region Fields

    private SystemMenu _menu;

    #endregion

    #region Constructors

    public MainForm()
    {
      this.InitializeComponent();
    }

    #endregion

    #region Methods

    protected override void OnLoad(EventArgs e)
    {
      base.OnLoad(e);

      this.Text = Application.ProductName;

      _menu = new SystemMenu(this);
      _menu.AddCommand("&Defaults...", this.ShowDefaultsDialog, true);
      _menu.AddCommand("&Properties...", this.ShowPropertiesDialog, false);
      _menu.AddCommand("&About...", this.ShowAboutDialog, true);
    }

    private void ShowAboutDialog()
    {
      using (AboutDialog dialog = new AboutDialog())
      {
        dialog.ShowDialog(this);
      }
    }

    private void ShowDefaultsDialog()
    {
      MessageBox.Show("Fake defaults window.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
    }

    private void ShowPropertiesDialog()
    {
      MessageBox.Show("Fake properties window.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
    }

    #endregion
  }
}

Donate

Donate