C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: エラーメッセージ表示時の音の差異について


(過去ログ 44 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■23278 / inTopicNo.1)  エラーメッセージ表示時の音の差異について
  
□投稿者/ らんぺるーる (24回)-(2008/08/12(Tue) 11:36:13)

分類:[VB.NET/VB2005] 

ボタンコントロールおよびテキストコントロールを1つずつ用意し、
ボタンを押した場合、または、テキストボックスで「Enter」を押した場合に、
共通の処理(メソッド)を呼び出しております。
共通の処理(メソッド)でエラーが発生した場合に、「MessageBox.Show」でエラーメッセ−ジを
表示しているのですが、ボタンを押した場合とテキストボックスで「Enter」を押した場合
で音に差異が生じております。

ボタンを押した場合は「メッセージ(情報)」の音がなり、
テキストボックスで「Enter」を押した場合は「一般の警告音」がなります。

差異が生じる理由および、音を統一する方法があれば教えていただけないでしょうか。


引用返信 編集キー/
■23289 / inTopicNo.2)  Re[1]: エラーメッセージ表示時の音の差異について
□投稿者/ もょもと (15回)-(2008/08/12(Tue) 12:08:03)
SystemSoundsプロパティを構ってみてはいかがでしょうか?
引用返信 編集キー/
■23292 / inTopicNo.3)  Re[2]: エラーメッセージ表示時の音の差異について
□投稿者/ やじゅ (532回)-(2008/08/12(Tue) 12:47:22)
やじゅ さんの Web サイト
2008/08/12(Tue) 12:49:43 編集(投稿者)

>■No23278 (らんぺるーる) に返信
>

共通メソッドを呼出しているなら、
テキストボックスのEnterイベント内にて
Enterイベント内の共通メソッド呼出しのかわりに
ボタン呼出し

ボタン.PerformClick()

とかってやっても音が変わるんでしょうか?
引用返信 編集キー/
■23296 / inTopicNo.4)  Re[2]: エラーメッセージ表示時の音の差異について
□投稿者/ らんぺるーる (25回)-(2008/08/12(Tue) 13:15:25)
No23289 (もょもと さん) に返信
> SystemSoundsプロパティを構ってみてはいかがでしょうか?

「MessageBox.Show」の直前に
SystemSounds.Asterisk.Play()を使用してみましたが、
「MessageBox.Show」でWindowsが自動で音を出しているので、
メッセージ表示時の音の切り替えは出来ないようです。
(2重で音が出ると予想したのですが、SystemSounds.Asterisk.Play()
の音はでませんでした。)
引用返信 編集キー/
■23297 / inTopicNo.5)  Re[3]: エラーメッセージ表示時の音の差異について
□投稿者/ らんぺるーる (26回)-(2008/08/12(Tue) 13:19:26)
No23292 (やじゅ さん) に返信
> 2008/08/12(Tue) 12:49:43 編集(投稿者)
>
> >■No23278 (らんぺるーる) に返信
> >
>
> 共通メソッドを呼出しているなら、
> テキストボックスのEnterイベント内にて
> Enterイベント内の共通メソッド呼出しのかわりに
> ボタン呼出し
>
> ボタン.PerformClick()
>
> とかってやっても音が変わるんでしょうか?

ボタンをソースにてクリックする方法
(PerformClick等)は試しましたが、音はかわりませんでした。

引用返信 編集キー/
■23299 / inTopicNo.6)  Re[3]: エラーメッセージ表示時の音の差異について
□投稿者/ もょもと (16回)-(2008/08/12(Tue) 13:30:05)
2008/08/12(Tue) 13:34:04 編集(投稿者)

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress
'**********************************
'処理開始
'**********************************
If e.KeyChar = Chr(Keys.Enter) Then
'Beep音を消音
e.Handled = True
End If
End Sub

上記のようにBeep音を消音してから、SystemSounds.Asterisk.Play()ではどうなりますか?
引用返信 編集キー/
■23316 / inTopicNo.7)  Re[4]: エラーメッセージ表示時の音の差異について
□投稿者/ らんぺるーる (27回)-(2008/08/12(Tue) 16:44:35)
もょもと様

「e.Handled = True」を入れましたが、音はかわりません。
ただし、今回の事象が発生する原因がわかりました。

テキストボックスでEnterを押すと「一般の警告音」がなり、
次の処理のメッセージ出力では「メッセージ(情報)」がなるようになっているので、
メッセ−ジ出力前に「一般の警告音」をクリアする処理が必要になりそうです。
(おそらく、前の音が残っている為、メッセージ表示の音が出力されないのだと思います。)







引用返信 編集キー/
■23318 / inTopicNo.8)  Re[5]: エラーメッセージ表示時の音の差異について
□投稿者/ もょもと (20回)-(2008/08/12(Tue) 16:54:36)
2008/08/12(Tue) 17:28:51 編集(投稿者)

???
先ほどのコードでは一般の警告音は消音されなかったということでしょうか?
テキストボックス内でEnterキーが押下された場合、警告音を消音、という記述なのですが…。


Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
[共通関数呼出]
End If
End Sub

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(Keys.Enter) Then
'Beep音を消音
e.Handled = True
End If
End Sub


上記のようにKeyPressイベントで本来の警告音を消音し、
Enterキー押下時の共通関数を呼び出す処理はKeyDownイベントで行ってみても駄目ですか?
引用返信 編集キー/
■23324 / inTopicNo.9)  Re[6]: エラーメッセージ表示時の音の差異について
□投稿者/ らんぺるーる (28回)-(2008/08/12(Tue) 19:20:38)
そうです。
以下のコードを適用してみましたが一般的な警告音が出てしまいます。

Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown


If (e.KeyData = Keys.Enter) Then
'Beep音を消音
e.Handled = True

'共通関数を呼び出し

End If


End Sub
引用返信 編集キー/
■23356 / inTopicNo.10)  Re[7]: エラーメッセージ表示時の音の差異について
□投稿者/ もょもと (21回)-(2008/08/13(Wed) 09:44:50)
2008/08/13(Wed) 09:48:15 編集(投稿者)

私は実際に処理を試していないので、(というか、音を出したくないので)何とも言えないのですが…。

私が先ほど記述したコードをもう一度見て頂けますか?

らんぺるーるさんはKeyDownイベント時にEnterキーが押下された場合にe.Handled = Trueとされていますが、
私はKeyPressイベント時にEnterキーが押下された場合にe.Handled = Trueとしています。

[KeyDown]で[Enterキー]が押下された場合に[共通関数を呼び出し]、
[KeyPress]で[Enterキー]が押下された場合に、[e.Handled = True]として再度試してみて頂けませんか?

引用返信 編集キー/
■23775 / inTopicNo.11)  Re[8]: エラーメッセージ表示時の音の差異について
□投稿者/ らんぺるーる (31回)-(2008/08/21(Thu) 20:44:01)
No23356 (もょもと さん) に返信
> 2008/08/13(Wed) 09:48:15 編集(投稿者)
>
> 私は実際に処理を試していないので、(というか、音を出したくないので)何とも言えないのですが…。
>
> 私が先ほど記述したコードをもう一度見て頂けますか?
>
> らんぺるーるさんはKeyDownイベント時にEnterキーが押下された場合にe.Handled = Trueとされていますが、
> 私はKeyPressイベント時にEnterキーが押下された場合にe.Handled = Trueとしています。
>
> [KeyDown]で[Enterキー]が押下された場合に[共通関数を呼び出し]、
> [KeyPress]で[Enterキー]が押下された場合に、[e.Handled = True]として再度試してみて頂けませんか?
>

もょもと様

遅くなりましたすみません。確かに、「e.Handled = True」を入れるイベントが違いましたね!!
KeyDownイベントに「e.Handled = True」を入れたところ、Enterキーを押した場合の音が消えました。
また、その後のエラーメッセージも「メッセージ(情報)」になりました。

本件につきましたは、解決済みとさせていただきました。
回答していただいたありがとうございました。



解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -