質問編集履歴

4

説明の加筆

2020/12/12 04:34

投稿

XPChannel
XPChannel

スコア6

test CHANGED
File without changes
test CHANGED
@@ -220,7 +220,7 @@
220
220
 
221
221
  ### 試したこと
222
222
 
223
- PlaySoundChange()のXの部分に、'Console.WriteLine(index);' を記述し、実行しました。結果は次のようになりました。
223
+ リストの項目が3つのときにPlaySoundChange()のXの部分に、'Console.WriteLine(index);' を記述し、実行しました。結果は次のようになりました。
224
224
 
225
225
  0
226
226
 

3

画像の説明の部分を他とそろえた

2020/12/12 04:34

投稿

XPChannel
XPChannel

スコア6

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  <コンパイルしたファイルを実行したときの状態>
22
22
 
23
- > 'a.wav'がデフォルトで表示されている
23
+ > >>'a.wav'がデフォルトで表示されている
24
24
 
25
25
  ![コンパイルしたファイルを実行したときの状態](950cbc2bdc001e4ef9e6735baf4ff549.jpeg)
26
26
 
@@ -30,7 +30,7 @@
30
30
 
31
31
  <'b.wav'をクリックし選択したときの状態>
32
32
 
33
- > 'b.wav'(選択した項目の名前)が正しく表示されている
33
+ > >>'b.wav'(選択した項目の名前)が正しく表示されている
34
34
 
35
35
  !['b.wav'をクリックし選択したときの状態](8dc2e60d63b42ce1a47480bdbee496f4.jpeg)
36
36
 
@@ -40,7 +40,7 @@
40
40
 
41
41
  <'再生'ボタンをクリックしたときの状態>
42
42
 
43
- >>'b.wav'を選択していたのに勝手に'c.wav'になりc.wavの音楽ファイルが再生され
43
+ > >>'b.wav'を選択していたのに勝手に'c.wav'になりc.wavの音楽ファイルが再生されてしまう
44
44
 
45
45
  !['再生'ボタンをクリックしたときの状態](792afca5136d4fe56688110841757e46.jpeg)
46
46
 

2

インデントの挿入、画像ファイルの挿入、加筆

2020/12/12 04:05

投稿

XPChannel
XPChannel

スコア6

test CHANGED
File without changes
test CHANGED
@@ -14,29 +14,65 @@
14
14
 
15
15
 
16
16
 
17
+
18
+
19
+
20
+
21
+ <コンパイルしたファイルを実行したときの状態>
22
+
23
+ > 'a.wav'がデフォルトで表示されている
24
+
25
+ ![コンパイルしたファイルを実行したときの状態](950cbc2bdc001e4ef9e6735baf4ff549.jpeg)
26
+
27
+
28
+
29
+
30
+
31
+ <'b.wav'をクリックし選択したときの状態>
32
+
33
+ > 'b.wav'(選択した項目の名前)が正しく表示されている
34
+
35
+ !['b.wav'をクリックし選択したときの状態](8dc2e60d63b42ce1a47480bdbee496f4.jpeg)
36
+
37
+
38
+
39
+
40
+
41
+ <'再生'ボタンをクリックしたときの状態>
42
+
43
+ >>'b.wav'を選択していたのに勝手に'c.wav'になりc.wavの音楽ファイルが再生される
44
+
45
+ !['再生'ボタンをクリックしたときの状態](792afca5136d4fe56688110841757e46.jpeg)
46
+
47
+
48
+
17
49
  ### ソースコード
18
50
 
19
51
  Formクラスを使用し、以下のようにソースコードを書きました。
20
52
 
21
-
53
+ ```ここに言語を入力
54
+
55
+ //コード
22
56
 
23
57
  using System;
24
58
 
25
- using System.Drawing;
26
-
27
59
  using System.Windows.Forms;
28
60
 
29
- class part05{
61
+ class part05
62
+
30
-
63
+ {
31
-
32
64
 
33
65
  [STAThread]
34
66
 
35
- static void Main(){
67
+ static void Main()
68
+
69
+ {
36
70
 
37
71
  Application.EnableVisualStyles();
38
72
 
39
- Application.Run(new Player()); }
73
+ Application.Run(new Player());
74
+
75
+ }
40
76
 
41
77
 
42
78
 
@@ -44,9 +80,9 @@
44
80
 
45
81
 
46
82
 
47
- class Player : Form{
83
+ class Player : Form
84
+
48
-
85
+ {
49
-
50
86
 
51
87
  Label label = new Label();
52
88
 
@@ -58,15 +94,13 @@
58
94
 
59
95
  System.Media.SoundPlayer soundplayer;
60
96
 
61
- string[] paths;
97
+ string[] paths;
62
-
98
+
63
- string[] safepaths;
99
+ string[] safepaths;
64
-
65
-
66
-
100
+
67
- public Player(){
101
+ public Player()
102
+
68
-
103
+ {
69
-
70
104
 
71
105
  label.Location = new Point(115, 20);
72
106
 
@@ -82,7 +116,7 @@
82
116
 
83
117
  soundplayer = new System.Media.SoundPlayer();
84
118
 
85
- paths = new string[]{ /*ここに音楽のパスを記入*/ };
119
+ paths = new string[]{ /*音楽ファイルのパス*/ };
86
120
 
87
121
 
88
122
 
@@ -96,19 +130,19 @@
96
130
 
97
131
 
98
132
 
99
- safepaths = new string[]{ /*ここにリストに表示する相対パスを記入*/ };
133
+ safepaths = new string[]{ /*音楽ファイルの名前*/ };
100
-
101
-
102
-
134
+
135
+
136
+
103
- listbox.Items.AddRange(safepaths);
137
+ listbox.Items.AddRange(safepaths);
104
-
138
+
105
- listbox.DrawItem += new DrawItemEventHandler(DrawPlaylist);
139
+ listbox.DrawItem += new DrawItemEventHandler(DrawPlaylist);
106
-
107
-
108
-
140
+
141
+
142
+
109
- this.Controls.Add(listbox);
143
+ this.Controls.Add(listbox);
110
-
144
+
111
- this.Controls.Add(label);
145
+ this.Controls.Add(label);
112
146
 
113
147
 
114
148
 
@@ -136,9 +170,7 @@
136
170
 
137
171
 
138
172
 
139
- this.Controls.AddRange(new Control[]{
173
+ this.Controls.AddRange(new Control[]{ Play, Stop } );
140
-
141
- Play, Stop } );
142
174
 
143
175
  }
144
176
 
@@ -148,7 +180,7 @@
148
180
 
149
181
 
150
182
 
151
- e.DrawBackground();
183
+ e.DrawBackground();
152
184
 
153
185
  string text = (sender as ListBox).Items[e.Index].ToString();
154
186
 
@@ -164,13 +196,11 @@
164
196
 
165
197
  void PlaySoundChange(int index, string text){
166
198
 
167
-
168
-
169
199
  soundplayer.Stop();
170
200
 
171
- //X-Console.WriteLine(index);
201
+ //X   Console.WriteLine(index);
172
-
202
+
173
- label.Text = text;
203
+ label.Text = text;
174
204
 
175
205
  soundplayer.SoundLocation = paths[index];
176
206
 
@@ -178,23 +208,15 @@
178
208
 
179
209
 
180
210
 
181
- void PlayClick(object sender, EventArgs e){
211
+ void PlayClick(object sender, EventArgs e){ soundplayer.Play(); }
182
-
183
- soundplayer.Play(); }
212
+
184
-
185
-
186
-
213
+
214
+
187
- void StopClick(object sender, EventArgs e){
215
+ void StopClick(object sender, EventArgs e){ soundplayer.Stop(); }
216
+
188
-
217
+ }
218
+
189
- soundplayer.Stop(); } }
219
+ ```
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
220
 
199
221
  ### 試したこと
200
222
 

1

誤字の修正

2020/12/12 03:57

投稿

XPChannel
XPChannel

スコア6

test CHANGED
File without changes
test CHANGED
@@ -236,9 +236,7 @@
236
236
 
237
237
 
238
238
 
239
- 自分でもググって調べて見たのですが、初心者の私にはどのサイトがこの現象について書かれているのかが分かりませんでした。自分が分かったのは、再生ボタンをクリックすると最終的にe.Indexの部分が最大の数になるということだけでした。回避方法として2回連続でe.Indexが同じ値だったときだけ
240
-
241
- PlaySoundChange()を呼び出すという方法も思いつきましたが、もっと簡単に実装できる方法がないか知りたいです。
239
+ 自分でもググって調べて見たのですが、初心者の私にはどのサイトがこの現象について書かれているのかが分かりませんでした。自分が分かったのは、再生ボタンをクリックすると最終的にe.Indexの部分が最大の数になるということだけでした。回避方法として2回連続でe.Indexが同じ値だったときだけPlaySoundChange()を呼び出すという方法も思いつきましたが、もっと簡単に実装できる方法がないか知りたいです。
242
240
 
243
241
 
244
242