Form message filter : Form « GUI Windows Forms « C# / CSharp Tutorial






using System;
using System.Windows.Forms;

public class mainForm : System.Windows.Forms.Form
{
  private MyMessageFilter msgFliter = new MyMessageFilter();

  public mainForm()
  {
    Application.ApplicationExit += new EventHandler(Form_OnExit);

    Application.AddMessageFilter(msgFliter);    
  }

  [STAThread]
  static void Main() 
  {
    Application.Run(new mainForm());
  }
  private void Form_OnExit(object sender, EventArgs evArgs) 
  {
    Application.RemoveMessageFilter(msgFliter);
  }
}

public class MyMessageFilter : IMessageFilter 
{
  public bool PreFilterMessage(ref Message m) 
  {
    // Intercept the left mouse button down message.
    if (m.Msg == 513) 
    {
      Console.WriteLine("WM_LBUTTONDOWN is: " + m.Msg);
      return true;
    }
    return false;
  }
}








23.2.Form
23.2.1.Subclass Form
23.2.2.Use Inherited form in a separate Main class
23.2.3.Inherit Form With Constructor
23.2.4.ResumeLayout and SuspendLayout
23.2.5.Call form constructor to create a Form object
23.2.6.Cal Show method to display a form
23.2.7.Text as the title
23.2.8.Set Form Visible properties
23.2.9.The difference between Form.Show and Application.Run()
23.2.10.The Hello, WindowsForms Application
23.2.11.Build Form without by hand
23.2.12.Inherited Form
23.2.13.Move a Form in codeMove a Form in code
23.2.14.Irregular formIrregular form
23.2.15.Add a Main Menu
23.2.16.Change Form size in menu action
23.2.17.Scroll FormScroll Form
23.2.18.Form message filter
23.2.19.Form Dispose
23.2.20.Change Form Cursor
23.2.21.Add control to Form dynamically