北大青鸟:五道口校区 指导老师:原玉明
常见难点问题剖析
- 同一窗体显示不同界面
如果在一个窗体中显示不同的界面呢??
我们可以转换一下思路,所谓界面不同就是容器不同
解决方案:通过控制Form窗体中ListView控件的显示和隐藏来实现多界面窗体
- 动态图片显示
如何动态的把图片显示到窗体上呢?
以动态为Image控件赋图片讲解
解决方案:通过
解决。到实际开发中可以拼接出path。
- 播放歌曲
如何播放歌曲?
解决方案:可以使用Windows Media Player组件
讲解如何添加该组件
mp1.URL = "文件名";
- 上传图片
问题:如何实现图片上传功能,并将图片预览效果显示出来,并且显示文件的名称和绝对路径,以及将文件复制到新的磁盘目录
解决方案:
- 窗体数据关联变化
问题:如何在关闭添加窗体后,将新添加的数据显示在主窗体中。
解决方案:在主窗体中设置窗体类型的静态变量,然后再子窗体的添加按钮中调用主窗体的绑定数据源方法。
- 选择文件目录
如何弹出选择目录窗口,并且将路径显示到对应的文本框中?
解决方案:
- 如何动态播放歌曲
问题:如何从数据库中读取歌曲存放路径,拼接上界面上选中的歌曲名称,来播放磁盘上对应的歌曲。
解决方案;可以使用类中的一个静态字段保存数据库中读取出来的歌曲路径,这样改路径就可以在程序中任何位置使用。
如何在工具箱中添加windows Media Player 控件?
.ListView控件首列不能居中问题
我们都知道ListView绑定首列的数据是通过
ListViewItem lvitem = new ListViewItem(stuno);
我也没找到解决方法,能做的,也许就是把第一列宽度设为 0,不用第一列,从第二列开始用。此时 ListView1.Items[i].Text 也不能用了,因为它对应的是 ListView1[i].SubItems[0].Text。
设置ToolStrip对应项图片的大小,通过ImageScalingSize来设置。
Panel不能实现同一窗体不同界面。
Directory.Move方法的用法:移动文件问题
Directory.Move("C:\\ms168\\filemanage\\dr\\","C:\\ms168\\backup");
具体实现步骤:
效果如下:
实现播放列表操作:
- 编写歌曲类Song.cs
- 编写播放列表类,提供播放列表的各种方法
- 设计拼音点歌窗体
- 实现拼音点歌功能
实现歌星点歌
切歌:
重唱: