private void rSACryptoToolStripMenuItem_Click( object sender, EventArgs e )
        {
            Cancelled = false;

            RSACryptoWorkerInfo WInfo = new RSACryptoWorkerInfo();
            WInfo.ProcessName = "RSA Make Keys";
            RSACryptoBack = new RSACryptoBackground( MForm, WInfo );
            RSACryptoBack.RunWorkerAsync( WInfo );
        }
        internal void FreeEverything()
        {
            if( IsDisposed )
              return;

            if( RSACryptoBack != null )
              {
              if( RSACryptoBack.IsBusy )
            {
            if( !RSACryptoBack.CancellationPending )
              RSACryptoBack.CancelAsync();

            }

              RSACryptoBack.Dispose();
              RSACryptoBack = null;
              }

            if( QuadResCombinBackgArray != null )
              {
              try
              {
              for( int Count = 0; Count < QuadResCombinBackgArray.Length; Count++ )
            {
            if( QuadResCombinBackgArray[Count] == null )
              continue;

            if( QuadResCombinBackgArray[Count].IsBusy )
              {
              if( !QuadResCombinBackgArray[Count].CancellationPending )
            QuadResCombinBackgArray[Count].CancelAsync();

              }

            QuadResCombinBackgArray[Count].Dispose();
            QuadResCombinBackgArray[Count] = null;
            }
              }
              catch( Exception Except )
            {
            ShowStatus( "Exception for QuadResCombinBackgArray[] on closing:\r\n" + Except.Message );
            }
              }

            if( ExpVectorArray != null )
              {
              try
              {
              for( int Count = 0; Count < ExpVectorArray.Length; Count++ )
            {
            if( ExpVectorArray[Count] == null )
              continue;

            if( ExpVectorArray[Count].IsBusy )
              {
              if( !ExpVectorArray[Count].CancellationPending )
            ExpVectorArray[Count].CancelAsync();

              }

            ExpVectorArray[Count].Dispose();
            ExpVectorArray[Count] = null;
            }
              }
              catch( Exception Except )
            {
            ShowStatus( "Exception for ExpVectorArray[] on closing:\r\n" + Except.Message );
            }
              }
        }