title: MonoDroid ProgressDialog
body: <p>All I want to do is make sure the user knows that a webservice is processing so they don't repeatedly mash buttons while it tries to work. </p>
  
  <pre><code>        EditText partnumber = (EditText)FindViewById(Resource.Id.itemNumber);
          partnumber.FocusChange += (object sender, View.FocusChangeEventArgs e) =&gt;
          {
              if (!e.HasFocus)
              {
                  var pd = ProgressDialog.Show(this, "Processing", "Please Wait...", false);
                  var res = new InventoryApp();
                  res.partValidateCompleted += delegate { pd.Hide(); };
                  var isValid = res.partValidate(partnumber.Text);
                  if (isValid == "Not Found")
                  {
                      partnumber.Text = "";
                      partnumber.RequestFocus();
                      partqty.ClearFocus();
                      AlertDialog.Builder builder = new AlertDialog.Builder(this);
                      builder.SetTitle("Invalid Part");
                      builder.SetMessage("Part number does not exist in database. Please ensure you are entering the correct part number and try again");
                      builder.SetPositiveButton("OK", delegate { });
                      var dialog = builder.Create();
                      dialog.Show();
                  }
                  else
                  {
                      partdesc.Text = isValid;
                  }
              }
          };
  </code></pre>
  
  <p>If I leave pd.Hide() in the code then I never see the progressdialog.  If I take it out, I only see the progressdialog after the webservice returns its results and then stays up because I haven't hidden it anywhere.   How do I get it to show while the app waits for partValidate and when can I hide it?</p>