Working with Thread Exceptions : Application : Development C# Examples


C# Examples » Development » Application »

 

Working with Thread Exceptions









    
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";
        }
}
    
   
  
   




HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Development
» Application