Windows Beep

I have read plenty of posts about people trying to stop the windows beep that occurs when you hit the enter key in a textbox that does not accept multiple lines, but I am trying to duplicate that tone.  Can anyone tell me how to duplicate the tone you get in a textbox when hitting the enter key????
gvector1Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
CebikCommented:
I'm searshing now how beep the same tone.

private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
        Console.Beep();
}

Open in new window

0
 
CebikCommented:
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
gvector1Author Commented:
I am not doing this within another method.  I have tried console.beep and it appears to use the internals of the pc to generate a tone as opposed to the windows tone generated through the speakers within the textbox.  I am wanting to duplicate the same sound.  What I have is a datagrid cell I am restricting text length.  If the text has reached maximum size, I want to generate that tone.
0
 
CebikCommented:
done :)

[DllImport("winmm.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
static extern bool PlaySound(string pszSound, IntPtr hMod, SoundFlags sf);
 
[Flags]
public enum SoundFlags : int
{
    SND_SYNC = 0x0000,  // play synchronously (default)
    SND_ASYNC = 0x0001,  // play asynchronously
    SND_NODEFAULT = 0x0002,  // silence (!default) if sound not found
    SND_MEMORY = 0x0004,  // pszSound points to a memory file
    SND_LOOP = 0x0008,  // loop the sound until next sndPlaySound
    SND_NOSTOP = 0x0010,  // don't stop any currently playing sound
    SND_NOWAIT = 0x00002000, // don't wait if the driver is busy
    SND_ALIAS = 0x00010000, // name is a registry alias
    SND_ALIAS_ID = 0x00110000, // alias is a predefined ID
    SND_FILENAME = 0x00020000, // name is file name
    SND_RESOURCE = 0x00040004  // name is resource name or atom
}
 
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
            PlaySound("SND_ALIAS_SYSTEMDEFAULT", IntPtr.Zero, SoundFlags.SND_ALIAS);
}

Open in new window

0
 
CebikCommented:
0
 
CebikCommented:
@SalmanZG:
wow :)
great
but there is no double sounds



private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
        SystemSounds.Beep.Play();
        //PlaySound("SND_ALIAS_SYSTEMDEFAULT", IntPtr.Zero, SoundFlags.SND_ALIAS);
}

Open in new window

0
 
CebikCommented:
now is

private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        SystemSounds.Beep.Play();
        Thread.Sleep(300);
        SystemSounds.Beep.Play();
    }
}

Open in new window

0
 
CebikCommented:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        SystemSounds.Beep.Play();
        Thread.Sleep(150);
        SystemSounds.Beep.Play();
        e.SuppressKeyPress = true;
    }
}

Open in new window

0
 
CebikCommented:
@SalmanZG:

thank's for this !!!
:)
0
 
gvector1Author Commented:
That is exactly what I was looking for.....Thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.