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

質問編集履歴

4

追記

2020/07/28 06:11

投稿

namekuhito
namekuhito

スコア21

title CHANGED
File without changes
body CHANGED
@@ -13,6 +13,73 @@
13
13
  以下にボタンの色の変更をする関数を示します。
14
14
 
15
15
  ```ここに言語を入力
16
+ namespace fghlib
17
+ {
18
+ public partial class Form020 : Form
19
+ {
20
+ public Form020(Form000 form)
21
+ {
22
+ InitializeComponent();
23
+ }
24
+
25
+ private void Form020_Load(object sender, EventArgs e)
26
+ {
27
+
28
+ //データベースからデータの取得
29
+
30
+
31
+ Btn001.UseVisualStyleBackColor = false;
32
+ Btn002.BackColor = Btn005.BackColor;
33
+ Btn002.UseVisualStyleBackColor = true;
34
+ Btn003.BackColor = Btn005.BackColor;
35
+ Btn003.UseVisualStyleBackColor = true;
36
+ DataGridViewSort();
37
+ DataGridView1.CurrentCell = null;
38
+ }
39
+
40
+ private void Btn001_Click(object sender, EventArgs e)
41
+ {
42
+ //データベースからデータの取得
43
+
44
+
45
+ SelectedRows.Clear();
46
+ DataGridView1.CurrentCell = null;
47
+ DataGridViewSort();
48
+ Btn001Color();
49
+ this.Invalidate();
50
+ Btn002.Enabled = true;
51
+ Btn003.Enabled = true;
52
+ }
53
+
54
+ private void Btn002_Click(object sender, EventArgs e)
55
+ {
56
+
57
+
58
+ //データベースからデータの取得
59
+
60
+
61
+ DataGridView1.DataSource = dt;
62
+ DataGridView1.CurrentCell = null;
63
+ SelectedRows.Clear();
64
+ DataGridViewSort();
65
+ Btn001Color();
66
+ }
67
+
68
+ private void Btn003_Click(object sender, EventArgs e)
69
+ {
70
+
71
+ //データベースからデータの取得
72
+
73
+
74
+
75
+ DataGridView1.DataSource = dt;
76
+ DataGridView1.CurrentCell = null;
77
+ SelectedRows.Clear();
78
+ DataGridViewSort();
79
+ Btn001Color();
80
+ }
81
+
82
+
16
83
  private void Btn001Color()
17
84
  {
18
85
 
@@ -44,6 +111,9 @@
44
111
  DataGridView1.Refresh();
45
112
  Application.DoEvents();// 色がつかない対策
46
113
  }
114
+ }
115
+ }
116
+
47
117
  ```
48
118
 
49
119
  データグリッドビューから取得したデータをもとに、色の変更の可否を判断します。

3

追記

2020/07/28 06:11

投稿

namekuhito
namekuhito

スコア21

title CHANGED
File without changes
body CHANGED
@@ -49,4 +49,9 @@
49
49
  データグリッドビューから取得したデータをもとに、色の変更の可否を判断します。
50
50
  ボタンの色の変更と同時にデータグリッドビュー内の色の変更も行っています。
51
51
 
52
+ 以上の関数はデータベースがに変更があったときに呼び出します。
53
+ ソフト上で複数のボタンがあり、ボタン1つ1つでデータベースへ行の追加や削除ができるよう処理が異なります。
54
+ そのため、逐一ボタンの処理が終わった後に関数を呼び出し、対象の行があればBtn001の色が変わるようになっています。
55
+
56
+
52
57
  よろしくお願いいたします。

2

追記

2020/07/28 04:52

投稿

namekuhito
namekuhito

スコア21

title CHANGED
File without changes
body CHANGED
@@ -9,4 +9,44 @@
9
9
  関数の最後に、Refresh()、Application.DoEvents()を追加しましたが、色の変更はできませんでした。
10
10
  また、関数を使わずにボタンの色の変更を書きましたが、それでも変更できませんでした。
11
11
 
12
+
13
+ 以下にボタンの色の変更をする関数を示します。
14
+
15
+ ```ここに言語を入力
16
+ private void Btn001Color()
17
+ {
18
+
19
+      //データベースからデータの取得
20
+
21
+
22
+ if (dt.Rows.Count > 0)
23
+ {
24
+ Btn001.BackColor = Color.LawnGreen;
25
+ foreach (DataGridViewRow r in DataGridView1.Rows)
26
+ {
27
+ if (r.Cells["kaisi"].Value.ToString() != "" && r.Cells["owari"].Value.ToString() == "")
28
+ {
29
+ r.Cells["joutai"].Style.BackColor = Color.LawnGreen;
30
+ }
31
+ }
32
+ }
33
+ else
34
+ {
35
+ Btn001.BackColor = Btn005.BackColor;
36
+ Btn001.UseVisualStyleBackColor = false;
37
+
38
+ foreach (DataGridViewRow r in DataGridView1.Rows)
39
+ {
40
+ r.Cells["joutai"].Style.BackColor = Color.White;
41
+ }
42
+ }
43
+ Btn001.Refresh();
44
+ DataGridView1.Refresh();
45
+ Application.DoEvents();// 色がつかない対策
46
+ }
47
+ ```
48
+
49
+ データグリッドビューから取得したデータをもとに、色の変更の可否を判断します。
50
+ ボタンの色の変更と同時にデータグリッドビュー内の色の変更も行っています。
51
+
12
52
  よろしくお願いいたします。

1

文法の修正

2020/07/28 04:40

投稿

namekuhito
namekuhito

スコア21

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  インストーラーを作成して、タブレットにインストールしたのちにアプリケーションを立ち上げて実行すると、色が変わらない問題が起きます。
7
7
 
8
8
  対策は、
9
- 関数の最後に、Refresh()、Application.DoEvents()を追加しました。
9
+ 関数の最後に、Refresh()、Application.DoEvents()を追加しましたが、色の変更はできませんでした
10
- また、関数を使わずに色の変更をましたが、それも変更できませんでした。
10
+ また、関数を使わずにボタンの色の変更を書きましたが、それも変更できませんでした。
11
11
 
12
12
  よろしくお願いいたします。