teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

2つの要素の修正

2021/06/07 01:29

投稿

neji-thon
neji-thon

スコア7

title CHANGED
File without changes
body CHANGED
@@ -81,8 +81,8 @@
81
81
 
82
82
  実は、まだ以下2つの要素も、それぞれ、毎回違うので動的に引数で渡したいと思っている次第です。
83
83
 
84
- ・StartUpMethodの
84
+ ・StartUpMethodのメソッド名そのもの
85
- ・Properties.Settingsの
85
+ ・Properties.SettingsのUse_BRNameの部分
86
86
 
87
87
  以下が完全なコードです。
88
88
  ```C#

3

2つの要素の説明について修正しました。

2021/06/07 01:29

投稿

neji-thon
neji-thon

スコア7

title CHANGED
File without changes
body CHANGED
@@ -79,10 +79,10 @@
79
79
  WebView2 WebView2objでオブジェクトを引数で渡してあげて
80
80
  WebView2obj.Dispose()で実際に実行できました。
81
81
 
82
- 実は、まだ以下2つの要素も動的に引数で渡したいと思っている次第です。
82
+ 実は、まだ以下2つの要素も、それぞれ、毎回違うので動的に引数で渡したいと思っている次第です。
83
83
 
84
- メソッド
84
+ StartUpMethodの所
85
- ・Properties.Settings
85
+ ・Properties.Settingsの所
86
86
 
87
87
  以下が完全なコードです。
88
88
  ```C#

2

実際のソースコードを改めて追記しました。

2021/06/07 01:27

投稿

neji-thon
neji-thon

スコア7

title CHANGED
File without changes
body CHANGED
@@ -67,4 +67,55 @@
67
67
  ご迷惑をおかけしてすいません。
68
68
  お手数ですが、改めてご教示いただけますと幸いです。
69
69
 
70
+ よろしくお願いします。
71
+
72
+ ---------------------------------
73
+ ご迷惑おかけしております。
74
+ len_soukoさんにご教示いただき、
75
+ checkBox.NameにてMainMethod側でチェックボックスの名前を確認できて、
76
+ checkBox.TextにてMainMethod側でチェックボックスのテキストを指定できました!
77
+
78
+ ブラウザの方は、
79
+ WebView2 WebView2objでオブジェクトを引数で渡してあげて
80
+ WebView2obj.Dispose()で実際に実行できました。
81
+
82
+ 実は、まだ以下2つの要素も動的に引数で渡したいと思っている次第です。
83
+
84
+ ・メソッド
85
+ ・Properties.Settings
86
+
87
+ 以下が完全なコードです。
88
+ ```C#
89
+ private void MainMethod(CheckBox checkBox, WebView2 WebView2obj, string BRName)
90
+ {
91
+ if (checkBox.Checked)
92
+ {
93
+ if (Properties.Settings.Default.Use_BRName == "ON") // ←このプロパティ(Use_BRName)名を動的に引数で渡したいです><
94
+ {
95
+ DialogResult dialog = MessageBox.Show("${BRName}を今すぐ停止しますか?", "ブラウザ停止確認", MessageBoxButtons.YesNo);
96
+ if (dialog == DialogResult.No)
97
+ {
98
+ checkBox.Checked = false;
99
+ return;
100
+ }
101
+ Properties.Settings.Default.Use_BRName = "OFF"; // ←このプロパティ(Use_BRName)名を動的に引数で渡したいです><
102
+ Properties.Settings.Default.Save();
103
+ WebView2obj.Dispose(); // ←ここは動的に引数で渡せました!
104
+ checkBox.Text = "起動";
105
+ }
106
+ }
107
+ else
108
+ {
109
+ if (Properties.Settings.Default.Use_BRName == "OFF") // ←このプロパティ(Use_BRName)名を動的に引数で渡したいです><
110
+ {
111
+ Properties.Settings.Default.Use_BRName = "ON"; // ←このプロパティ(Use_BRName)名を動的に引数で渡したいです><
112
+ Properties.Settings.Default.Save();
113
+ checkBox.Text = "停止";
114
+ StartUpMethod(); // ←このメソッドの名前を動的に引数で渡したいです><
115
+ }
116
+ }
117
+ }
118
+ ```
119
+
120
+ お手数ですが、ご教示いただけますと幸いです。
70
121
  よろしくお願いします。

1

具体的なソースコードと、もう少し説明を加えました。

2021/06/07 00:53

投稿

neji-thon
neji-thon

スコア7

title CHANGED
File without changes
body CHANGED
@@ -24,4 +24,47 @@
24
24
 
25
25
  ```
26
26
 
27
- お分かりになる方、そもそもの考え方がおかしい場合、サンプルのコードは一切無視しても問題ございませんので、ご指摘や、こういった場合の対処法などご教示お願いします。
27
+ お分かりになる方、そもそもの考え方がおかしい場合、サンプルのコードは一切無視しても問題ございませんので、ご指摘や、こういった場合の対処法などご教示お願いします。
28
+
29
+ ------------------------------
30
+ コメントくださった皆様、質問内容が固まっていないようで大変申し訳ありませんでした。
31
+ 1か月以上、何時間も調べてもわからず、まだ理解に乏しい中で、簡潔に質問しようとしたのが間違いでした。
32
+
33
+ まだ具体的に質問できるか心配ですが、もう少し具体的なコードを書きます。
34
+
35
+ ```C#
36
+ private void checkBox21_CheckedChanged(object sender, EventArgs e)
37
+ {
38
+ CheckBox chkBox = (CheckBox)sender;
39
+ if (chkBox.Checked)
40
+ {
41
+ DialogResult dialog = MessageBox.Show("browser1を今すぐ停止しますか?", "ご確認ください", MessageBoxButtons.YesNo);
42
+ if (dialog == DialogResult.No)
43
+ {
44
+ checkBox21.Checked = false;
45
+ return;
46
+ }
47
+ browser1.Dispose();
48
+ checkBox21.Text = "起動";
49
+ }
50
+ else
51
+ {
52
+ checkBox21.Text = "停止";
53
+ StartUpMethod();
54
+ }
55
+
56
+ }
57
+
58
+ ```
59
+
60
+ 状況としては、まず、ツールの中で複数のブラウザが起動している状態になっています。
61
+ そのブラウザをそれぞれ、停止と起動を制御したく、チェックボックスをトグルボタンに変えて、実際に停止と起動は問題なく動作は出来ているのですが、checkBox21_CheckedChangedのようなメソッドすべての中身に停止と起動の処理が書かれており、困っている状態なのでした。
62
+
63
+ 上記の起動と停止の処理に関して、checkBox21やbrowser1といったオブジェクト(インスタンスと伝えた方がよかったのでしょうか。。)を渡す、どのブラウザでも停止と起動をしてくれるメソッドを一つ用意したいというのが目的でした。
64
+
65
+ それができたら、都度、checkBox21_CheckedChangedやcheckBox22_CheckedChangedのようなメソッドの中からは、checkBox21やbrowser1といった自分のオブジェクト名を処理のメソッドに渡すだけでよくなり、コードが減って、見やすくて管理もしやすいのかなと思っています。
66
+
67
+ ご迷惑をおかけしてすいません。
68
+ お手数ですが、改めてご教示いただけますと幸いです。
69
+
70
+ よろしくお願いします。