Guest User

Untitled

a guest
Jun 27th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. // main.cs
  2. public void Click_DownloadFiles(object sender, RoutedEventArgs e)
  3. {
  4. // ユーザ向かいには「処理中」のような画面が出ている状態です。
  5. A();
  6.  
  7. // WebBrowserクラスを使用したスクレイピング処理中で、
  8. // 特定の要素(パスワード入力画面入力フォームなどを見つけるとユーザに画面を返します。)
  9. if (elementExist())
  10. {
  11. url = string.Format("views/Pages/PasswordInput.xaml")
  12. Frame.MainFrame.Navigate(new URI(url, UriKind.Relative));
  13. return;
  14. }
  15. // 入力後ここから処理を再開したい…
  16. B();
  17. }
  18.  
  19.  
  20. public void Click_DownloadFilesAfterInput(object sender, RoutedEventArgs) e
  21. {
  22. // 現状は入力が終わったら押すボタンを分けて別メソッドに元の処理の続きをコピーしている
  23. B();
  24. }
  25.  
  26.  
  27.  
  28. // PasswordInput.xaml.cs
  29. private void PasswordBoxChanged(object sender, RoutedEventArgs e)
  30. {
  31. if (this.DataContext != null)
  32. {
  33. // ユーザの入力を保持
  34. ((dynamic)this.DataContext).Password = ((PasswordBox)sender).SecurePassword;
  35. }
  36. }
  37.  
  38. private void Click_DownloadFilesAfterInput(object sender, RoutedEventArgs e)
  39. {
  40. if (this.DataContext != null)
  41. {
  42. // メイン処理のクラスに戻る
  43. ((dynamic)this.DataContext).Click_DownloadFilesAfterInput(sender, e);
  44. Button_DownloadFiles.IsEnabled = false;
  45. }
  46. }
  47.  
  48. // main.cs
  49. public void Click_DownloadFiles(object sender, RoutedEventArgs e)
  50. {
  51. if (State == "PW" ) goto pw;
  52. A();
  53.  
  54. if (elementExist())
  55. {
  56. url = string.Format("views/Pages/PasswordInput.xaml")
  57. Frame.MainFrame.Navigate(new URI(url, UriKind.Relative));
  58. return;
  59. }
  60. // 入力後ここから処理を再開したい…
  61. pw:
  62. B();
  63. }
  64.  
  65.  
  66. // PasswordInput.xaml.cs
  67. private void PasswordBoxChanged(object sender, RoutedEventArgs e)
  68. {
  69. if (this.DataContext != null)
  70. {
  71. ((dynamic)this.DataContext).Password = ((PasswordBox)sender).SecurePassword;
  72. }
  73. }
  74.  
  75. private void Click_DownloadFilesAfterInput(object sender, RoutedEventArgs e)
  76. {
  77. if (this.DataContext != null)
  78. {
  79. ((dynamic)this.DataContext).State = "PW";
  80. ((dynamic)this.DataContext).Click_DownloadFilesAfterInput(sender, e);
  81. Button_DownloadFiles.IsEnabled = false;
  82. }
  83. }
Add Comment
Please, Sign In to add comment