编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
 12 12
发新话题
打印

用键盘的字母控制

用键盘的字母控制

用键盘的字母控制音乐的音符
那个方法如何实现
老师布置一个电子琴的作业我不会做
希望各位高手指点下我...我是纯菜鸟

QQ:876804182

TOP

社會太黑暗了...
     既然沒有人回應一下.
當困難是一種樂趣的時候....
              你就找到了人生的最大樂趣ヤ      

TOP

社会就是这样...弱肉强食...一定要坚持啊...成功是靠自己的....不要绝望...我也是一个刚学C#的初学者...

TOP

你要实现什么功能呢
菜猪猪``

TOP

这个作业要看到底要实现到什么程度

要模拟电子琴,就要看电子琴上有多少个按键就在窗体上放多少个Button
现在要做的只是要把每个按钮和键盘上的按键对应起来

先把窗体的KeyPreview属性设置为true,至于为什么,看看MSDN
然后在窗体的KeyUp或这KeyDown事件中下如下代码
if (e.KeyData == Keys.A)
   button1_Click(sender, e);
else if(e.KeyData == Keys.B)
   button2_Click(sender, e);
............
这样在你按下某个按键的时候就会触发窗体上按钮的点击事件,和鼠标点击一样

但是,既然是个电子琴,那就要发出声音了,这块我没做过,也不敢乱写,
等想到了再写上来吧

希望对你有帮助!

TOP

才发现,是一个多月前的帖子了。。。。。。。。汗~~~

TOP

虽然这个帖子很老了,但是觉得还是蛮有意思的,看了下MSDN找到解决办法了
写了如下的测试代码
private void button1_Click(object sender, EventArgs e)
        {
            this.button1.Text = "Do";
            playSimpleSound(@"D:\Program Files\Tencent\QQ\sound\call.wav");
        }

        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.A)
            {
                button1_Click(sender, e);
            }
        }

        private void playSimpleSound(String wavPath)
        {
            SoundPlayer simpleSound = new SoundPlayer(wavPath);
            simpleSound.Play();
        }

声音文件是在QQ安装目录随便找的,测试成功!

TOP

学习~
学海无崖~!

TOP

7楼的代码!

7楼代码按键盘A后好象无任何反映,用鼠标按BUTTON1是可以的。
事上无难事,只盼有心人!

TOP

好像VB 有个关于MUISC 的函数

TOP

 12 12
发新话题