本文整理汇总了C#中System.Windows.Forms.Application.AddMessageFilter方法的典型用法代码示例。如果您正苦于以下问题:C# Application.AddMessageFilter方法的具体用法?C# Application.AddMessageFilter怎么用?C# Application.AddMessageFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Forms.Application
的用法示例。
在下文中一共展示了Application.AddMessageFilter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PreFilterMessage
// Creates a message filter.
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public class TestMessageFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
// Blocks all the messages relating to the left mouse button.
if (m.Msg >= 513 && m.Msg <= 515)
{
Console.WriteLine("Processing the messages : " + m.Msg);
return true;
}
return false;
}
}
示例2: PreFilterMessage
//引入命名空间
using System;
using System.Threading;
using System.Windows.Forms;
public class BlockLeftMouseButtonMessageFilter : IMessageFilter
{
const int WM_LBUTTONDOWN = 0x201;
public bool PreFilterMessage(ref Message m) {
if(m.Msg == WM_LBUTTONDOWN)
{
Exception LeftButtonDownException;
LeftButtonDownException = new Exception("The left mouse button was pressed.");
Application.OnThreadException(LeftButtonDownException);
return true;
}
return false;
}
}
public class ApplicationEventHandlerClass
{
public void OnThreadException(object sender, ThreadExceptionEventArgs e)
{
Exception LeftButtonDownException;
LeftButtonDownException = e.Exception;
Console.WriteLine(LeftButtonDownException.Message);
}
}
public class MainForm : Form
{
public static void Main()
{
ApplicationEventHandlerClass AppEvents = new ApplicationEventHandlerClass();
MainForm MyForm = new MainForm();
BlockLeftMouseButtonMessageFilter MsgFilter = new BlockLeftMouseButtonMessageFilter();
Application.AddMessageFilter(MsgFilter);
Application.ThreadException += new ThreadExceptionEventHandler(AppEvents.OnThreadException);
Application.Run(MyForm);
}
public MainForm()
{
Text = "Application Exception Test";
}
}