Beispiel #1
0
        private void PrimesUnOrderedButton_Click_1(object sender, RoutedEventArgs e)
        {
            var nativeObject = new WinRT_CPP.Class1();

            StringBuilder sb = new StringBuilder();

            sb.Append("Primes found (unordered): ");
            PrimesUnOrderedResult.Text = sb.ToString();

            // primeFoundEvent is a user-defined event in nativeObject
            // It passes the results back to this thread as they are produced
            // and the event handler that we define here immediately displays them.
            nativeObject.primeFoundEvent += (n) =>
            {
                sb.Append(n.ToString()).Append(" ");
                PrimesUnOrderedResult.Text = sb.ToString();
            };

            // Call the async method.
            var asyncResult = nativeObject.GetPrimesUnordered(2, 100000);

            // Provide a handler for the Progress event that the asyncResult
            // object fires at regular intervals. This handler updates the progress bar.
            asyncResult.Progress += (asyncInfo, progress) =>
            {
                PrimesUnOrderedProgress.Value = progress;
            };
        }