質問編集履歴

4

追記

2020/07/28 06:11

投稿

namekuhito
namekuhito

スコア21

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,140 @@
28
28
 
29
29
  ```ここに言語を入力
30
30
 
31
+ namespace fghlib
32
+
33
+ {
34
+
35
+ public partial class Form020 : Form
36
+
37
+ {
38
+
39
+ public Form020(Form000 form)
40
+
41
+ {
42
+
43
+ InitializeComponent();
44
+
45
+ }
46
+
47
+
48
+
49
+ private void Form020_Load(object sender, EventArgs e)
50
+
51
+ {
52
+
53
+
54
+
55
+ //データベースからデータの取得
56
+
57
+
58
+
59
+
60
+
61
+ Btn001.UseVisualStyleBackColor = false;
62
+
63
+ Btn002.BackColor = Btn005.BackColor;
64
+
65
+ Btn002.UseVisualStyleBackColor = true;
66
+
67
+ Btn003.BackColor = Btn005.BackColor;
68
+
69
+ Btn003.UseVisualStyleBackColor = true;
70
+
71
+ DataGridViewSort();
72
+
73
+ DataGridView1.CurrentCell = null;
74
+
75
+ }
76
+
77
+
78
+
79
+ private void Btn001_Click(object sender, EventArgs e)
80
+
81
+ {
82
+
83
+ //データベースからデータの取得
84
+
85
+
86
+
87
+
88
+
89
+ SelectedRows.Clear();
90
+
91
+ DataGridView1.CurrentCell = null;
92
+
93
+ DataGridViewSort();
94
+
95
+ Btn001Color();
96
+
97
+ this.Invalidate();
98
+
99
+ Btn002.Enabled = true;
100
+
101
+ Btn003.Enabled = true;
102
+
103
+ }
104
+
105
+
106
+
107
+ private void Btn002_Click(object sender, EventArgs e)
108
+
109
+ {
110
+
111
+
112
+
113
+
114
+
115
+ //データベースからデータの取得
116
+
117
+
118
+
119
+
120
+
121
+ DataGridView1.DataSource = dt;
122
+
123
+ DataGridView1.CurrentCell = null;
124
+
125
+ SelectedRows.Clear();
126
+
127
+ DataGridViewSort();
128
+
129
+ Btn001Color();
130
+
131
+ }
132
+
133
+
134
+
135
+ private void Btn003_Click(object sender, EventArgs e)
136
+
137
+ {
138
+
139
+
140
+
141
+ //データベースからデータの取得
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+ DataGridView1.DataSource = dt;
150
+
151
+ DataGridView1.CurrentCell = null;
152
+
153
+ SelectedRows.Clear();
154
+
155
+ DataGridViewSort();
156
+
157
+ Btn001Color();
158
+
159
+ }
160
+
161
+
162
+
163
+
164
+
31
165
  private void Btn001Color()
32
166
 
33
167
  {
@@ -90,6 +224,12 @@
90
224
 
91
225
  }
92
226
 
227
+ }
228
+
229
+ }
230
+
231
+
232
+
93
233
  ```
94
234
 
95
235
 

3

追記

2020/07/28 06:11

投稿

namekuhito
namekuhito

スコア21

test CHANGED
File without changes
test CHANGED
@@ -100,4 +100,14 @@
100
100
 
101
101
 
102
102
 
103
+ 以上の関数はデータベースがに変更があったときに呼び出します。
104
+
105
+ ソフト上で複数のボタンがあり、ボタン1つ1つでデータベースへ行の追加や削除ができるよう処理が異なります。
106
+
107
+ そのため、逐一ボタンの処理が終わった後に関数を呼び出し、対象の行があればBtn001の色が変わるようになっています。
108
+
109
+
110
+
111
+
112
+
103
113
  よろしくお願いいたします。

2

追記

2020/07/28 04:52

投稿

namekuhito
namekuhito

スコア21

test CHANGED
File without changes
test CHANGED
@@ -20,4 +20,84 @@
20
20
 
21
21
 
22
22
 
23
+
24
+
25
+ 以下にボタンの色の変更をする関数を示します。
26
+
27
+
28
+
29
+ ```ここに言語を入力
30
+
31
+ private void Btn001Color()
32
+
33
+ {
34
+
35
+
36
+
37
+      //データベースからデータの取得
38
+
39
+
40
+
41
+
42
+
43
+ if (dt.Rows.Count > 0)
44
+
45
+ {
46
+
47
+ Btn001.BackColor = Color.LawnGreen;
48
+
49
+ foreach (DataGridViewRow r in DataGridView1.Rows)
50
+
51
+ {
52
+
53
+ if (r.Cells["kaisi"].Value.ToString() != "" && r.Cells["owari"].Value.ToString() == "")
54
+
55
+ {
56
+
57
+ r.Cells["joutai"].Style.BackColor = Color.LawnGreen;
58
+
59
+ }
60
+
61
+ }
62
+
63
+ }
64
+
65
+ else
66
+
67
+ {
68
+
69
+ Btn001.BackColor = Btn005.BackColor;
70
+
71
+ Btn001.UseVisualStyleBackColor = false;
72
+
73
+
74
+
75
+ foreach (DataGridViewRow r in DataGridView1.Rows)
76
+
77
+ {
78
+
79
+ r.Cells["joutai"].Style.BackColor = Color.White;
80
+
81
+ }
82
+
83
+ }
84
+
85
+ Btn001.Refresh();
86
+
87
+ DataGridView1.Refresh();
88
+
89
+ Application.DoEvents();// 色がつかない対策
90
+
91
+ }
92
+
93
+ ```
94
+
95
+
96
+
97
+ データグリッドビューから取得したデータをもとに、色の変更の可否を判断します。
98
+
99
+ ボタンの色の変更と同時にデータグリッドビュー内の色の変更も行っています。
100
+
101
+
102
+
23
103
  よろしくお願いいたします。

1

文法の修正

2020/07/28 04:40

投稿

namekuhito
namekuhito

スコア21

test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
  対策は、
16
16
 
17
- 関数の最後に、Refresh()、Application.DoEvents()を追加しました。
17
+ 関数の最後に、Refresh()、Application.DoEvents()を追加しましたが、色の変更はできませんでした
18
18
 
19
- また、関数を使わずに色の変更をましたが、それも変更できませんでした。
19
+ また、関数を使わずにボタンの色の変更を書きましたが、それも変更できませんでした。
20
20
 
21
21
 
22
22