完成时间3天,四人团队完成
Client前端
1.KTV主页面

1.KTV主界面
客户端进入KTV点歌系统的主窗体,窗体的中部是通过五个 PictureBox 控件,展示了歌星点歌,拼音点歌,类型点歌,热播排行和字数点歌等功能。当单机某个图片时,将会进入到相关的窗体。而窗体的下部使用了 ToolStrip 控件提供了重唱
2.歌星点歌
在主窗体上,单击“歌星点歌”图标就进入了“歌星点歌”窗体,按歌手性别分为组合,女歌手和男歌手三个类型,如图下所示

1.单机某种类型,如“男歌手”图标,窗体将变换为图下所示的页面,在窗体中对歌手所属地区进行了分类。

1.选择某个地区后,如“台湾”后,将显示这个地区的歌手信息,界面效果如图下所示。

1.当单击歌手姓名为“方大同”的歌手时,将显示这名歌手的信息

歌星点歌关键代码:窗体:FrmOrderBySinger
/// 窗体加载事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmOrderBySinger_Load(object sender, EventArgs e)
{
this.lvsingerregion.Visible=false; //通过歌手地区点歌隐藏
this.lvsinger.Visible=false; //歌星隐藏
this.dgvsonglist.Visible = false; //歌曲列表隐藏
this.dgvsonglist.AutoGenerateColumns = false; //不允许自动创建列
}
public string gander; //歌手性别
public int singerTypeId; //歌手地区
public string singerName; //歌星名字
DBhepel db = new DBhepel();
KTVUtil util = new KTVUtil();
/// <summary>
/// 筛选符合信息的歌手
/// </summary>
private void filtrate()
{
try
{
db.ConnectionOpen();
string sql = string.Format(@"select singer_name,singer_photo_url from singer_info where
singer_gender='{0}' and singertype_id={1}", gander, singerTypeId);
SqlCommand command = new SqlCommand(sql,db.Conn);
SqlDataReader reader = command.ExecuteReader();
int index = 0;
while (reader.Read())
{
ListViewItem lv = new ListViewItem(reader["singer_name"].ToString(), index);
ilsinger.Images.Add(Image.FromFile(util.GetOldPhotoPath() + "\\" + reader["singer_photo_url"].ToString()));
lv.ImageIndex = index;
lvsinger.Items.Add(lv);
index++;
}
reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
db.ConnectionClose();
}
}
/// <summary>
/// 选择歌星性别
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lvsingergander_SelectedIndexChanged(object sender, EventArgs e)
{
gander = this.lvsingergander.SelectedItems[0].Text;
MessageBox.Show(gander);
t