图5-4 添加歌手界面
图5-5 设置费率
5.2.2 代码设计
(1) 当管理员单击添加歌曲按钮时,将弹出添加歌曲窗体,如图5-3所示,这里最关键的是如何实现歌曲地址的正确绑定[9]。只有地址绑定正确才能在主界面中实现播放的功能,部分代码如下:
OpenFileDialog openfile = new OpenFileDialog();
openfile.Filter = \ if (openfile.ShowDialog() == DialogResult.OK) {
filepath.Text = openfile.FileName; }
这里就是实现将用户选择的歌曲全路径添加到播放列表中,并显示到filepath文本控件中以便于插入数据库。
该模块还设计了一个方便用户的操作,如果管理员想多次插入歌曲,则可以直接点新增,就可直接保存上条记录,继续进行下一条的插入。而不需要点击保存后再次点新增进行下一条的插入。部分代码如下:
21
if (MessageBox.Show(\是否保存?\\友情提示\MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { i_State = 1;
toolStripButton2_Click(toolStripButton2, e); this.btn .Text = \保存\ else { i_State = 0; NewAdd();
this.btn.Text = \保存\
}
(2) 当管理员单击删除歌曲按钮时,将弹出友情提示,如果用户选择“是”,则删除,若删除成功,则弹出messagebox提示成功删除。部分代码如下: if (this.listView1.SelectedItems.Count > 0)
{if (MessageBox.Show(\继续则删除该信息\\友情提示\MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try {
String sql=\\
DBOperation.DBOperate.DoSqlString(sql ); MessageBox.Show(\删除成功\ catch (Exception ex)
{ MessageBox.Show(ex.ToString()); } } }
showSong (\ }
(3) 当管理员单击添加歌手按钮时,将弹出添加歌手窗体,如图5-4所示,界面中拼音是系统根据用户输入的中文歌手自动生成的,这是一个实现的难点。部分代码如下: if (regex.IsMatch(noWChar[j].ToString()))//此处是中文字符转换 {
array = System.Text.Encoding.Default.GetBytes(noWChar[j].ToString()); i1 = (short)(array[0]); i2 = (short)(array[1]); chrAsc = i1 * 256 + i2 - 65536; if (chrAsc > 0 && chrAsc < 160) {
22
pyString += noWChar[j]; }
(4) 当管理员单击删除歌手按钮时,将弹出歌手删除窗体,代码如下: if (this.listView2.SelectedItems.Count > 0) {
if (MessageBox.Show(\继续则删除该信息\\友情提示\MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
try { string sql = \
this.listView2.SelectedItems[0].SubItems[1].Text + \
DBOperation.DBOperate.DoSqlString(sql ); MessageBox.Show(\删除成功\ catch (Exception ex)
{ MessageBox.Show(ex.ToString()); } } (5) 当管理员单击设置费率按钮时,将弹出费率设置窗体,代码如下: Form frm = new FrmSetRate(); frm.ShowDialog();
其中修改包间类型信息时,在相应的文本框内输入值,单击修改包间信息,系统会更新数据库内数据并及时显示在界面上。部分代码如下:
if (this.listView1.SelectedItems.Count > 0) {
string sql = \
+ this.textBox2.Text + \+ \
try {
DBOperation.DBOperate.DoSqlString(sql); MessageBox.Show(\修改成功\ catch (Exception ex) {
MessageBox.Show(ex.ToString ()); } showRoom (\ else{
MessageBox.Show(\请先选择要修改的行\ }
当管理员想要修改会员折率时,在设置费率界面的相应文本框内输入值,单击修改折率信息,系统会更新数据库内数据并及时将信息显示在界面上。部分代码如下:
if (this.listView2.SelectedItems.Count > 0) {
string sql = \this.textBox4.Text + \
try {
23
DBOperation.DBOperate.DoSqlString(sql); MessageBox.Show(\修改成功\ showRate (\ } catch (Exception ex) {
MessageBox.Show(ex.ToString()); } } else {
MessageBox.Show(\请先选择要修改的行\ } (6) 当管理员单击退出按钮进,将退出窗体,代码如下: this.close();
5.3 登录设计
5.3.1界面设计
登录界面是管理员用于登录修改数据库内的数据使用的界面。主要控件有combobox控件textbox控件、button按钮控件。各主要控件的属性如表5-3所示。
表5-3 登录窗体主要控件属性 控件 属性 属性值 Name FrmLogin Form1 (Form) Text 管理员界面 ComboBox1(combobx) TextBox1 Button1 Button2 Name Name PasswordChar Name Name cmbId txtPwd * button1(登录) button2(退出) 设计完成的登录界面如图5-6所示
24
图5-6 登录界面
5.3.2 代码设计
(1) 当用户选择管理员用户名,并且输入密码pwd,单击登录按钮后,进入主窗体,并且显示普通用户隐藏着的按钮;如果密码输入错误,则弹出提示信息重新输入密码,部分代码如下:
DataTable myDT = DBOperation.DBOperate.GetDataTableBySql(\adminname='\ + \ if (myDT.Rows.Count == 0) {
MessageBox.Show(\管理员密码输入错误,请重新输入\ txtPwd.Clear(); txtPwd.Focus(); } else {
Form frm = new Form1(1); frm.ShowDialog(); this.Close(); }
(2) 当管理员单击退出按钮时,退出系统,代码如下: this.close();
5.4 查询设计
5.4.1 界面设计
查询分歌曲类别、歌曲名称、歌曲名称数、歌手、歌手拼音查询,是方便用户查找数据库内数据使用的界面。主要控件有combobox控件、button按钮、listview列表控件、textbox控件[10]。各主要控件的属性如表5-4所示。
表5-4 歌曲类别查询主要控件属性 控件 属性 属性值 Name FrmSongType Form1(Form) Text 按歌曲类别界面 ComboBox1(combobx) Listview1 Name Name Columns combobox1 listview1 序号、歌曲名、歌曲类别 设计完成的按歌曲类别查询图、歌曲名称查询图、歌曲名称数查询图、歌手名查询图及歌手拼音查询图的设计界面如下图5-7、5-8、5-9、5-10、5-11所示,当用户双击某一界面歌曲时,弹出歌曲详细信息,如图5-12所示,点击添加完成添加到用户播放列表操作。
25
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库媒体音乐播放器的设计与实现—毕业论文(6)在线全文阅读。
相关推荐: