一个项目,一分收获;一个项目,一些资源。Ktv项目也是一样的,所以我想分享我的收获,让你们获得你需要的资源。

一. 那MyKTV点歌系统具体的功能有哪些呢?我们就来看看吧!

1.MyKTV前台功能:

01.歌星点歌 、拼音点歌 、数字点歌 、类型选择 、金榜排行

02.切歌 、点歌 、重唱和退出

2.MyKTV后台功能:

01.歌手管理 、歌曲管理 、设置资源路径

02.新增歌手、歌曲 ,查询歌手、歌曲信息,设置歌曲路径和退出

二. 功能已经概括的差不多了,就让我们一起来看看MyKTV的项目吧

1.首先就是展现KTV的主界面,让我们先了解一下那些功能

01.实现各个共功能的主代码:

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceMyKTVClient

{public partial classfrmMain : Form

{publicfrmMain()

{

InitializeComponent();

}//当前播放的歌曲

privateSong song;//退出系统

SqlConnection con = newSqlConnection(DBHelper.str);private void tsbtnExit_Click(objectsender, EventArgs e)

{

Application.Exit();

}private void MainForm_Load(objectsender, EventArgs e)

{

DBHelper.frm= this;//加载时,运行播放窗体//启动计时器

this.tim.Start();//歌手照片路径

string sql = "select resource_path from resource_path where resource_id=1";

SqlCommand cmd= newSqlCommand(sql, con);//歌手照片路径

con.Open();

KTVUtil.singerPhotoPath=cmd.ExecuteScalar().ToString();//歌曲路径

sql = "select resource_path from resource_path where resource_id=2";

cmd.CommandText=sql;

KTVUtil.songPath=cmd.ExecuteScalar().ToString();

con.Close();

}//已点歌曲窗体

private void tsbtnOrdered_Click(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}//重新播放当前歌曲

private void tsbtnAgain_Click(objectsender, EventArgs e)

{

PlayList.PlayAgain();

PlaySong();

}//切歌

private void tsbtnCut_Click(objectsender, EventArgs e)

{if (txtnextsong.Text=="")

{

MessageBox.Show("暂无已点歌曲");

}else{

PlayList.CutSong(-1);

}

}//服务

private void toolStripButton1_Click(objectsender, EventArgs e)

{

MessageBox.Show("当前无服务!");

}//播放歌曲

private voidPlaySong()

{this.song = PlayList.GetPlayingSong(); //获取当前要播放的歌曲

if (song != null)

{this.song.SetSongPlayed(); //将当前歌曲播放状态设为已播放

this.Winplaymedia.URL = KTVUtil.songPath + "\\" + this.song.SongURL; //得到当前播放歌曲的路径

string urlls = KTVUtil.singerPhotoPath +"\\"+ this.song.Singerurl;//歌手图片

lblsongname.Text = this.song.Singername;//歌手名字

try{this.pblist.Image =Image.FromFile(urlls);

}catch(Exception)

{

MessageBox.Show("暂无歌手图片"); ;

}

}

}//定时扫描歌曲列表,显示当前播放歌曲的名称

private void timer1_Tick(objectsender, EventArgs e)

{//在文本框中显示当前播放的歌曲名字

this.txtplay.Text =PlayList.PlayingSongName();this.txtnextsong.Text =PlayList.NextSongName();if (this.song == null)

{this.PlaySong();

}if (this.Winplaymedia.playState ==WMPLib.WMPPlayState.wmppsStopped)

{this.song = null; //将歌曲设为空

PlayList.MoveOn();

}//切歌

if (this.song != null && this.song.PlayState ==SongPlayState.cut)

{this.Winplaymedia.URL = "";this.song = null;

}

}//按歌手点歌

private void picSinger_Click(objectsender, EventArgs e)

{

frmOrderBySinger frm= newfrmOrderBySinger();

frm.Show();

}//拼音点歌

private void picSongName_Click(objectsender, EventArgs e)

{

frmOrderBySongName frm= newfrmOrderBySongName();

frm.Show();

}//分类点歌

private void picSongType_Click(objectsender, EventArgs e)

{

frmOrderBySongType frm= newfrmOrderBySongType();

frm.Show();

}//排行榜点歌

private void picSongList_Click(objectsender, EventArgs e)

{

frmSongList frm= newfrmSongList();string sql = "select song_id,song_name,singer_info.singer_name,song_url,singer_info.singer_photo_url from song_info inner join singer_info on song_info.singer_id=singer_info.singer_id order by song_play_count desc";

frm.Sql=sql;

frm.Onform=FanhuiForm.Main;

frm.Show();

}//字数点歌

private void picWordCount_Click(objectsender, EventArgs e)

{

frmOrderByWordCount frm= newfrmOrderByWordCount();

frm.Show();

}private void frmMain_FormClosing(objectsender, FormClosingEventArgs e)

{//关闭应用

Application.Exit();

}//点击窗体移动

private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void pnlTop_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}private void pnlTop_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}private void pnlTop_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}private void pnlTop_Paint(objectsender, PaintEventArgs e)

{

}

}

}

2.歌星点歌(三个listview的集成窗体)

01.歌手类别

02.歌手地区

03.歌手姓名

04.代码

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;using System.Data.SqlClient; //ADO.NET

namespaceMyKTVClient

{public partial classfrmOrderBySinger : Form

{//当前选择的歌手性别

private string singergender = "男";//当前选择的歌手类型的编号

private int singerTypeId = 0;publicfrmOrderBySinger()

{

InitializeComponent();

}//关闭当前窗体,显示主界面

private void tsbtnHome_Click(objectsender, EventArgs e)

{this.Close();

}//重新播放当前歌曲

private void tsbtnAgain_Click(objectsender, EventArgs e)

{

PlayList.PlayAgain();

}//切歌

private void tsbtnCut_Click(objectsender, EventArgs e)

{

PlayList.CutSong(-1);

}//打开已点歌曲窗体

private void tsbtnOrdered_Click(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}//呼叫服务

private void tsbtnService_Click(objectsender, EventArgs e)

{

MessageBox.Show("服务!");

}//处理返回按钮的事件

private void tsbtnExit_Click(objectsender, EventArgs e)

{if (this.pnlSingerList.Visible)

{this.pnlSingerType.Visible = true;this.pnlSingerList.Visible = false;

}else if (this.pnlSingerType.Visible)

{this.pnlSingerSex.Visible = true;this.pnlSingerType.Visible = false;

}else if (this.pnlSingerSex.Visible)

{this.Close();

}

}//点击歌手的信息窗体时,弹出歌曲列表

private void lvlistthree_Click(objectsender, EventArgs e)

{//读取数据库,读出该歌手的所有歌曲

SqlConnection con = newSqlConnection(DBHelper.str);

StringBuilder sb= newStringBuilder();

sb.AppendFormat("select song_id,song_name,singer_info.singer_name,song_url,singer_info.singer_photo_url from song_info,singer_info where song_info.singer_id=singer_info.singer_id and singer_name='{0}' and song_info.singer_id={1}",

lvlistthree.SelectedItems[0].Text, Convert.ToInt32(lvlistthree.SelectedItems[0].Tag));

frmSongList frm= newfrmSongList();

frm.Sql=sb.ToString();

frm.Onform= FanhuiForm.Singergender; //指定返回的窗体是按歌手点歌

frm.Show();

}//当点击歌手类别的窗体时,弹出某歌手的信息的船体

private void lvlisttwo_Click(objectsender, EventArgs e)

{//隐藏歌手类别,显示歌手列表

pnlSingerType.Visible = false;

pnlSingerList.Location=pnlSingerSex.Location;

pnlSingerList.Dock=DockStyle.Fill;

pnlSingerList.Visible= true;this.singerTypeId = Convert.ToInt32(lvlisttwo.SelectedItems[0].Tag); //保存选中的类别编号//读取数据库,读出歌手信息

SqlConnection con = newSqlConnection(DBHelper.str);

StringBuilder sql= newStringBuilder();

sql.AppendFormat("select singer_id,singer_name,singer_photo_url from singer_info where singertype_id={0} and singer_gender='{1}'",this.singerTypeId, this.singergender);try{

SqlCommand cmd= newSqlCommand(sql.ToString(), con);

con.Open();

SqlDataReader dr=cmd.ExecuteReader();int imageIndex = 0; //代表歌手头像的索引

imglistthree.Images.Clear();//循环读出歌手信息添加到窗体中显示

lvlistthree.Items.Clear();while(dr.Read())

{//将歌手头像放在ImageList控件中

string photoURL = KTVUtil.singerPhotoPath + "\\" + Convert.ToString(dr["singer_photo_url"]);

imglistthree.Images.Add(Image.FromFile(photoURL));//将歌手添加到ListView中

ListViewItem item = newListViewItem();

item.Text= Convert.ToString(dr["singer_name"]);

item.Tag= Convert.ToString(dr["singer_id"]);

item.ImageIndex=imageIndex;

lvlistthree.Items.Add(item);

imageIndex++;

}

dr.Close();

}catch(Exception)

{

MessageBox.Show("错误!");

}finally{

con.Close();

}

}//当点击歌手的性别窗体时,弹出歌手的类别窗体的第一个listview

private void lvlistone_Click(objectsender, EventArgs e)

{if (lvlistone.SelectedItems[0] != null)

{//隐藏歌手性别,显示歌手类别

pnlSingerSex.Visible = false;

pnlSingerType.Location=pnlSingerSex.Location;

pnlSingerType.Dock=DockStyle.Fill;

pnlSingerType.Visible= true;//记录选择的性别

this.singergender = Convert.ToString(lvlistone.SelectedItems[0].Tag);

}//读取歌手类别

SqlConnection con = newSqlConnection(DBHelper.str);string sql = "select * from singer_type";try{//查询数据库

SqlCommand command = newSqlCommand(sql, con);

con.Open();

SqlDataReader dr=command.ExecuteReader();//循环将类别读取出来添加到ListView中

lvlisttwo.Items.Clear();int i = 0;while(dr.Read())

{

ListViewItem item= newListViewItem();

item.Text= Convert.ToString(dr["singertype_name"]);

item.Tag= Convert.ToInt32(dr["singertype_id"]);

item.ImageIndex=i;

lvlisttwo.Items.Add(item);

i++;

}

dr.Close();

}catch(Exception)

{

MessageBox.Show("错误!");

}finally{

con.Close();

}

}private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void pnlon_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}private void pnlon_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}private void pnlon_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}

}

}

05.歌曲列表

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceMyKTVClient

{//定义枚举,代表当前应该返回到的上一个窗体

public enumFanhuiForm

{

Main, Singergender, SongType, WordCount, SongName, SongList

}public partial classfrmSongList : Form

{private string sql = "";private FanhuiForm onform; //上一个窗体//该窗体应该返回到的上一个窗体

publicFanhuiForm Onform

{get { returnonform; }set { onform =value; }

}//歌曲列表查询语句

public stringSql

{get { returnsql; }set { sql =value; }

}publicfrmSongList()

{

InitializeComponent();

}//返回

SqlConnection con = newSqlConnection(DBHelper.str);private void tsbtnExit_Click(objectsender, EventArgs e)

{switch (this.Onform)

{//返回到歌手点歌

caseFanhuiForm.Singergender:

frmOrderBySinger frm= newfrmOrderBySinger();

frm.Show();break;//返回到歌曲类型点歌

caseFanhuiForm.SongType:

frmOrderBySongType frm1= newfrmOrderBySongType();

frm1.Show();break;//返回到字数点歌

caseFanhuiForm.WordCount:

frmOrderByWordCount frm2= newfrmOrderByWordCount();

frm2.Show();break;

}this.Close();

}//窗体加载时查询歌曲列表

private void SongListForm_Load(objectsender, EventArgs e)

{

DataSet dataSet= newDataSet();

SqlDataAdapter da= new SqlDataAdapter(this.Sql, con);

da.Fill(dataSet,"info");

dgvlist.DataSource= dataSet.Tables["info"];

}private void tsbtnService_Click(objectsender, EventArgs e)

{

MessageBox.Show("服务中");

}//点播一首歌曲

private void dgvlist_CellClick(objectsender, DataGridViewCellEventArgs e)

{//创建一个歌曲对象,并将选中的歌曲名和路径赋给该对象

Song song = newSong();

song.SongName= dgvlist.SelectedRows[0].Cells["songName"].Value.ToString();

song.SongURL= dgvlist.SelectedRows[0].Cells["songURL"].Value.ToString();

song.Singerurl= dgvlist.SelectedRows[0].Cells["singerUrl"].Value.ToString();

song.Singername= dgvlist.SelectedRows[0].Cells["singer"].Value.ToString();

PlayList.AddSong(song);//更新数据库,将选中的歌曲点播次数加1

int sId = Convert.ToInt32(dgvlist.SelectedRows[0].Cells["songId"].Value);//string sql = "update song_info set song_play_count=song_play_count+1 where song_id="+sId+"";

string sql = string.Format("update song_info set song_play_count=song_play_count+1 where song_id={0}", sId);try{

SqlCommand cmd= newSqlCommand(sql, con);

con.Open();

cmd.ExecuteNonQuery();

}catch(Exception)

{

MessageBox.Show("出错!");

}finally{

con.Close();

}

}//返回

private void tsbtnExit_Click_1(objectsender, EventArgs e)

{this.Close();

}//切歌

private void tsbtnCut_Click(objectsender, EventArgs e)

{

PlayList.CutSong(-1);

}//打开已点歌曲窗体

private void tsbtnOrdered_Click(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}//重新播放当前歌曲

private void tsbtnAgain_Click(objectsender, EventArgs e)

{

PlayList.PlayAgain();

}//主界面

private void tsbtnHome_Click(objectsender, EventArgs e)

{this.Close();

}private void frmSongList_MouseDown(objectsender, MouseEventArgs e)

{

}private void frmSongList_MouseMove(objectsender, MouseEventArgs e)

{

}private void frmSongList_MouseUp(objectsender, MouseEventArgs e)

{

}private void pnlTop_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void pnlTop_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}private void pnlTop_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}

}

}

01. 播放界面

02. 已点歌曲

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceMyKTVClient

{public partial classfrmOrderedSongList : Form

{private FanhuiForm onform; //上一个窗体

///

///该窗体应该返回到的上一个窗体///

public stringname;publicFanhuiForm Onform

{get { returnonform; }set { onform =value; }

}publicfrmOrderedSongList()

{

InitializeComponent();

}private void OrderedSongListForm_Load(objectsender, EventArgs e)

{this.newSonglist();

tim.Start();

}private void timer1_Tick(objectsender, EventArgs e)

{//this.newSonglist();

}//刷新歌曲列表

private voidnewSonglist()

{//清空原列表

lvlist.Items.Clear();int index = 0;while (PlayList.SongList[index] != null)

{

ListViewItem item= newListViewItem();//获取歌曲的名称

item.Text =PlayList.SongList[index].SongName;

item.Tag=index;//歌曲的播放状态

string playState = PlayList.SongList[index].PlayState == SongPlayState.unplayed ? "未播放" : "已播放";

item.SubItems.Add(playState);

lvlist.Items.Add(item);

index++;

}

}//返回到上一个窗体

private void tsbtnExit_Click(objectsender, EventArgs e)

{switch (this.Onform)

{caseFanhuiForm.Singergender:

frmOrderBySinger frm= newfrmOrderBySinger();

frm.Show();break;caseFanhuiForm.SongList:

frmSongList frm1= newfrmSongList();

frm1.Show();break;caseFanhuiForm.SongName:

frmOrderBySongName frm2= newfrmOrderBySongName();

frm2.Show();break;caseFanhuiForm.SongType:

frmOrderBySongType frm3= newfrmOrderBySongType();

frm3.Show();break;caseFanhuiForm.WordCount:

frmOrderByWordCount frm4= newfrmOrderByWordCount();

frm4.Show();break;

}this.Close();

}//呼叫服务

private void tsbtnService_Click(objectsender, EventArgs e)

{

MessageBox.Show("服务中");

}//返回

private void tsbtnExit_Click_1(objectsender, EventArgs e)

{this.Close();

}//已点

private void tsbtnOrdered_Click(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}//切割

private void tsbtnCut_Click_1(objectsender, EventArgs e)

{

PlayList.CutSong(songId);this.newSonglist();

}//重唱

private void tsbtnAgain_Click_1(objectsender, EventArgs e)

{

PlayList.PlayAgain();

}// private void tsbtnHome_Click_1(objectsender, EventArgs e)

{this.Close();

}//删除选中歌曲

int songId = -1; //切歌的编号

private void lvlist_Click(objectsender, EventArgs e)

{if (this.lvlist.SelectedItems.Count > 0)

{

songId= Convert.ToInt32(this.lvlist.SelectedItems[0].Tag);

}

}private void lvlist_MouseDown(objectsender, MouseEventArgs e)

{

}private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void frmOrderedSongList_MouseDown(objectsender, MouseEventArgs e)

{

}private void frmOrderedSongList_MouseMove(objectsender, MouseEventArgs e)

{

}private void frmOrderedSongList_Move(objectsender, EventArgs e)

{

}private void frmOrderedSongList_MouseUp(objectsender, MouseEventArgs e)

{

}private void pnlTop_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}private void pnlTop_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}private void pnlTop_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}

}

3.拼音点歌

代码:

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceMyKTVClient

{public partial classfrmOrderBySongName : Form

{publicfrmOrderBySongName()

{

InitializeComponent();

}//查询歌曲显示在窗体中

SqlConnection con = newSqlConnection(DBHelper.str);private void btnSearch_Click(objectsender, EventArgs e)

{

DataSet ds= newDataSet();

StringBuilder sb= newStringBuilder();

sb.Append("select song_id,song_name,singer_info.singer_name,song_url,singer_info.singer_photo_url from song_info inner join singer_info on singer_info.singer_id=song_info.singer_id");

sb.AppendFormat("where song_name like '%{0}%' or song_ab like '{0}'", this.txtname.Text);

Console.WriteLine(sb.ToString());

SqlDataAdapter da= newSqlDataAdapter(sb.ToString(), con);//在填充之前先清空当前列表

if (ds.Tables["info"] != null)

{

ds.Tables["info"].Clear();

}

da.Fill(ds,"info");this.dgvlist.DataSource = ds.Tables["info"];

}private void tsbtnExit_Click(objectsender, EventArgs e)

{this.Close();

}//服务

private void tsbtnService_Click(objectsender, EventArgs e)

{

MessageBox.Show("服务中!");

}private void dgvlist_CellClick(objectsender, DataGridViewCellEventArgs e)

{if (dgvlist.SelectedRows[0].Cells["songName"] != null)

{//创建一个歌曲对象,并将当权选中的歌曲名和路径赋给该对象

Song song = newSong();

song.SongName= dgvlist.SelectedRows[0].Cells["songName"].Value.ToString();

song.SongURL= dgvlist.SelectedRows[0].Cells["songURL"].Value.ToString();

song.Singerurl= dgvlist.SelectedRows[0].Cells["singerUrl"].Value.ToString();

PlayList.AddSong(song);//将选中的歌曲点播次数加1

int songId = Convert.ToInt32(dgvlist.SelectedRows[0].Cells["songId"].Value);string sql = string.Format("update song_info set song_play_count=song_play_count+1 where song_id={0}", songId);

DBHelper dbHelper= newDBHelper();try{

SqlCommand cmd= newSqlCommand(sql,con);

con.Open();

cmd.ExecuteNonQuery();

}catch(Exception )

{

MessageBox.Show("异常");

}finally{

con.Close();

}

}

}private void tsbtnExit_Click_1(objectsender, EventArgs e)

{this.Close();

}private void tsbtnCut_Click(objectsender, EventArgs e)

{if (MessageBox.Show("确定要切歌吗?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) ==DialogResult.OK)

{

PlayList.CutSong(-1);

}

}private void tsbtnOrdered_Click_1(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}private void tsbtnAgain_Click_1(objectsender, EventArgs e)

{

PlayList.PlayAgain();

}private void tsbtnHome_Click(objectsender, EventArgs e)

{this.Close();

}private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void pnlon_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}private void pnlon_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}private void pnlon_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}

}

}

01.点歌后的效果

4.已点歌曲里的切歌效果

代码:

//删除选中歌曲

int songId = -1; //切歌的编号

private void lvlist_Click(objectsender, EventArgs e)

{if (this.lvlist.SelectedItems.Count > 0)

{

songId= Convert.ToInt32(this.lvlist.SelectedItems[0].Tag);

}

}//切歌

private void tsbtnCut_Click_1(objectsender, EventArgs e)

{

PlayList.CutSong(songId);this.newSonglist();

}

5.类型选择

通过代码把图片动态加载进来

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceMyKTVClient

{public partial classfrmOrderBySongType : Form

{publicfrmOrderBySongType()

{

InitializeComponent();

}private void tsbtnExit_Click(objectsender, EventArgs e)

{this.Close();

}//窗体加载时,显示歌曲类别

SqlConnection con = newSqlConnection(DBHelper.str);private void OrderBySongTypeForm_Load(objectsender, EventArgs e)

{//读取歌曲类别

string sql = "select * from song_type";try{//查询数据库

SqlCommand cmd = newSqlCommand(sql, con);

con.Open();

SqlDataReader dr=cmd.ExecuteReader();//循环将类别读取出来添加到ListView中

this.lvlist.Items.Clear();int index = 0;while(dr.Read())

{

ListViewItem item= newListViewItem();

item.Text= Convert.ToString(dr["songtype_name"]);

item.Tag= Convert.ToInt32(dr["songtype_id"]);

item.ImageIndex=index;this.lvlist.Items.Add(item);

index++;

}

dr.Close();

}catch(Exception)

{

MessageBox.Show("错误!");

}finally{

con.Close();

}

}//呼叫服务

private void tsbtnService_Click(objectsender, EventArgs e)

{

MessageBox.Show("您呼叫服务中!");

}private void lvlist_Click(objectsender, EventArgs e)

{//读取数据库,读出该歌手的所有歌曲

StringBuilder sb= newStringBuilder();

sb.Append("select song_id,song_name,singer_info.singer_name,song_url,singer_info.singer_photo_url from song_info inner join singer_info on song_info.singer_id=singer_info.singer_id");

sb.AppendFormat("where songtype_id={0}", Convert.ToInt32(lvlist.SelectedItems[0].Tag));

Console.WriteLine(sb.ToString());

frmSongList frm= newfrmSongList();

frm.Sql=sb.ToString();

frm.Onform=FanhuiForm.SongType;

frm.Show();

}// private void tsbtnExit_Click_1(objectsender, EventArgs e)

{this.Close();

}// private void tsbtnOrdered_Click_1(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}// private void tsbtnCut_Click_1(objectsender, EventArgs e)

{

PlayList.CutSong(-1);

}// private void tsbtnAgain_Click(objectsender, EventArgs e)

{

PlayList.PlayAgain();

}private void tsbtnHome_Click(objectsender, EventArgs e)

{this.Close();

}private void pnlon_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}private void pnlon_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void lvlist_MouseDown(objectsender, MouseEventArgs e)

{

}private void pnlon_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}

}

}

01.歌曲列表

6.金榜点歌

01.代码同为一个歌曲列表窗体

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceMyKTVClient

{//定义枚举,代表当前应该返回到的上一个窗体

public enumFanhuiForm

{

Main, Singergender, SongType, WordCount, SongName, SongList

}public partial classfrmSongList : Form

{private string sql = "";private FanhuiForm onform; //上一个窗体//该窗体应该返回到的上一个窗体

publicFanhuiForm Onform

{get { returnonform; }set { onform =value; }

}//歌曲列表查询语句

public stringSql

{get { returnsql; }set { sql =value; }

}publicfrmSongList()

{

InitializeComponent();

}//返回

SqlConnection con = newSqlConnection(DBHelper.str);private void tsbtnExit_Click(objectsender, EventArgs e)

{switch (this.Onform)

{//返回到歌手点歌

caseFanhuiForm.Singergender:

frmOrderBySinger frm= newfrmOrderBySinger();

frm.Show();break;//返回到歌曲类型点歌

caseFanhuiForm.SongType:

frmOrderBySongType frm1= newfrmOrderBySongType();

frm1.Show();break;//返回到字数点歌

caseFanhuiForm.WordCount:

frmOrderByWordCount frm2= newfrmOrderByWordCount();

frm2.Show();break;

}this.Close();

}//窗体加载时查询歌曲列表

private void SongListForm_Load(objectsender, EventArgs e)

{

DataSet dataSet= newDataSet();

SqlDataAdapter da= new SqlDataAdapter(this.Sql, con);

da.Fill(dataSet,"info");

dgvlist.DataSource= dataSet.Tables["info"];

}private void tsbtnService_Click(objectsender, EventArgs e)

{

MessageBox.Show("服务中");

}//点播一首歌曲

private void dgvlist_CellClick(objectsender, DataGridViewCellEventArgs e)

{//创建一个歌曲对象,并将选中的歌曲名和路径赋给该对象

Song song = newSong();

song.SongName= dgvlist.SelectedRows[0].Cells["songName"].Value.ToString();

song.SongURL= dgvlist.SelectedRows[0].Cells["songURL"].Value.ToString();

song.Singerurl= dgvlist.SelectedRows[0].Cells["singerUrl"].Value.ToString();

song.Singername= dgvlist.SelectedRows[0].Cells["singer"].Value.ToString();

PlayList.AddSong(song);//更新数据库,将选中的歌曲点播次数加1

int sId = Convert.ToInt32(dgvlist.SelectedRows[0].Cells["songId"].Value);//string sql = "update song_info set song_play_count=song_play_count+1 where song_id="+sId+"";

string sql = string.Format("update song_info set song_play_count=song_play_count+1 where song_id={0}", sId);try{

SqlCommand cmd= newSqlCommand(sql, con);

con.Open();

cmd.ExecuteNonQuery();

}catch(Exception)

{

MessageBox.Show("出错!");

}finally{

con.Close();

}

}//返回

private void tsbtnExit_Click_1(objectsender, EventArgs e)

{this.Close();

}//切歌

private void tsbtnCut_Click(objectsender, EventArgs e)

{

PlayList.CutSong(-1);

}//打开已点歌曲窗体

private void tsbtnOrdered_Click(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}//重新播放当前歌曲

private void tsbtnAgain_Click(objectsender, EventArgs e)

{

PlayList.PlayAgain();

}//主界面

private void tsbtnHome_Click(objectsender, EventArgs e)

{this.Close();

}private void frmSongList_MouseDown(objectsender, MouseEventArgs e)

{

}private void frmSongList_MouseMove(objectsender, MouseEventArgs e)

{

}private void frmSongList_MouseUp(objectsender, MouseEventArgs e)

{

}private void pnlTop_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void pnlTop_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}private void pnlTop_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}

}

}

7.字数点歌

01.通过for循环把1-12的数字循环打印出来

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceMyKTVClient

{public partial classfrmOrderByWordCount : Form

{publicfrmOrderByWordCount()

{

InitializeComponent();

}private void tsbtnExit_Click(objectsender, EventArgs e)

{this.Close();

}

SqlConnection con= newSqlConnection(DBHelper.str);private void OrderByWordCountForm_Load(objectsender, EventArgs e)

{//将字数列表添加到窗体中

for (int i = 0; i < 12; i++)

{//循环生成字数项添加到窗体中

ListViewItem item = newListViewItem();

item.Text= (i + 1) + "个字";

item.Tag= i + 1;

lvlist.Items.Add(item);

}

}//呼叫服务

private void tsbtnService_Click(objectsender, EventArgs e)

{

MessageBox.Show("服务中");

}private void lvlist_Click(objectsender, EventArgs e)

{if (lvlist.SelectedItems[0] != null)

{//读取数据库,读出该歌手的所有歌曲

StringBuilder sb= newStringBuilder();

sb.Append("select song_id,song_name,singer_info.singer_name,song_url,singer_info.singer_photo_url from song_info inner join singer_info on song_info.singer_id=singer_info.singer_id");

sb.AppendFormat("where song_word_count={0}", Convert.ToInt32(lvlist.SelectedItems[0].Tag));

Console.WriteLine(sb.ToString());

frmSongList frm= newfrmSongList();

frm.Sql=sb.ToString();

frm.Onform=FanhuiForm.WordCount;

frm.Show();

}

}// private void tsbtnExit_Click_1(objectsender, EventArgs e)

{this.Close();

}// private void tsbtnOrdered_Click_1(objectsender, EventArgs e)

{

frmOrderedSongList frm= newfrmOrderedSongList();

frm.Show();

}// private void tsbtnCut_Click_1(objectsender, EventArgs e)

{

PlayList.CutSong(-1);

}// //重新播放当前歌曲

private void tsbtnAgain_Click_1(objectsender, EventArgs e)

{

PlayList.PlayAgain();

}private void tsbtnHome_Click(objectsender, EventArgs e)

{this.Close();

}private Point mouseOffset; //记录鼠标指针的坐标

private bool isMouseDown = false; //记录鼠标按键是否按下

private void pnlon_MouseDown(objectsender, MouseEventArgs e)

{intxOffset;intyOffset;if (e.Button ==MouseButtons.Left)

{

xOffset= -e.X -SystemInformation.FrameBorderSize.Width;

yOffset= -e.Y - SystemInformation.CaptionHeight -SystemInformation.FrameBorderSize.Height;

mouseOffset= newPoint(xOffset, yOffset);

isMouseDown= true;

}

}private void pnlon_MouseMove(objectsender, MouseEventArgs e)

{if(isMouseDown)

{

Point mousePos=Control.MousePosition;

mousePos.Offset(mouseOffset.X+ 5, mouseOffset.Y + 30);

Location=mousePos;

}

}private void pnlon_MouseUp(objectsender, MouseEventArgs e)

{//修改鼠标状态isMouseDown的值//确保只有鼠标左键按下并移动时,才移动窗体

if (e.Button ==MouseButtons.Left)

{

isMouseDown= false;

}

}

}

}

02.歌曲列表

03.已点列表

8.最后再看看重唱的功能展示以及代码

01.重唱

//重新播放当前歌曲

private void tsbtnAgain_Click(objectsender, EventArgs e)

{

PlayList.PlayAgain();

PlaySong();

}

前台算告一段落了,如果觉得对你有帮助的话,可以关注,如觉得还可以就个你的痕迹。

01.主窗体

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceKTV

{public partial classFrmMain : Form

{publicFrmMain()

{

InitializeComponent();

}//新增

private void tsnewadd_Click(objectsender, EventArgs e)

{//新增

frmAddSinger frm = newfrmAddSinger();

frm.MdiParent= this;

frm.Show();//以本窗体为父窗体打开

}//查询歌手

private void tssingerselect_Click(objectsender, EventArgs e)

{//查询歌手信息

FrmSelectSinger frm = newFrmSelectSinger();

frm.MdiParent= this;

frm.Show();//以本窗体为父窗体打开

}//退出

private void tsexit_Click(objectsender, EventArgs e)

{//退出应用程序

Application.Exit();

}//查询歌曲

private void tssongselect_Click(objectsender, EventArgs e)

{

}private void tslujing_Click(objectsender, EventArgs e)

{

}private void tssong_Click(objectsender, EventArgs e)

{

}private void tshelping_Click(objectsender, EventArgs e)

{//帮助

MessageBox.Show("帮助规则");

}private void tsAddSong_Click(objectsender, EventArgs e)

{//保存歌曲

FrmAdd frm = newFrmAdd();

frm.MdiParent= this;

frm.Show();

}private void TsSeSong_Click(objectsender, EventArgs e)

{//查询歌曲信息

frmselectSong frm = newfrmselectSong();

frm.MdiParent= this;

frm.Show();//以本窗体为父窗体打开

}private void TSsonger_Click(objectsender, EventArgs e)

{//路径

frmAddSongURL frm = newfrmAddSongURL();

frm.Show();

}

}

}

01.添加歌手

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Data.SqlClient;namespaceKTV

{public partial classfrmAddSinger : Form

{public stringuname;publicfrmAddSinger()

{

InitializeComponent();

}//默认给原路径赋值

public stringOldLoadWays()

{//测试

SqlConnection con = newSqlConnection(DBHelp.str);string sql = "select resource_path from resource_path where resource_id=1";

SqlCommand cmd= newSqlCommand(sql, con);string songUrl = "";try{

con.Open();

SqlDataReader dr=cmd.ExecuteReader();if (dr != null)

{if(dr.HasRows)

{while(dr.Read())

{

songUrl= dr["resource_path"].ToString();

}

}

}

}catch(Exception)

{

MessageBox.Show("网络异常!"); ;

}finally{

con.Close();

}returnsongUrl;

}//下拉框

public voidSingerselect()

{string str =DBHelp.str;//连接数据库

SqlConnection con = newSqlConnection(str);string sql = "select singertype_id,singertype_name from singer_type";//数据集和数据库连接

SqlDataAdapter da = newSqlDataAdapter(sql, con);

DataSet ds= newDataSet();try{

da.Fill(ds);//绑定数据源

DataTable dt = ds.Tables[0];

DataRow dr=dt.NewRow();//给该行赋值

dr[0] = -1;

dr[1] = "请选择";

dt.Rows.InsertAt(dr,0);

cbotype.DataSource= ds.Tables[0];//下拉框显示值

cbotype.DisplayMember = "singertype_name";//下拉框隐藏值

cbotype.ValueMember = "singertype_id";

}catch(Exception)

{

MessageBox.Show("加载失败!");

}finally{

con.Close();

}

}private void frmAddSinger_Load(objectsender, EventArgs e)

{

Singerselect();

Commod.DBsongurl=OldLoadWays();if (this.Text=="修改歌手信息")

{

btnadd.Text= "修改";//MessageBox.Show(uname);

Load_information();

}else{this.Text = "编辑歌手信息";

btnadd.Text= "保存";

}

}string fileName = "";string fullName = "";private void btnView_Click(objectsender, EventArgs e)

{//浏览

if (this.ofdlist.ShowDialog() ==DialogResult.OK)

{

fileName= this.ofdlist.SafeFileName; //文件名

fullName = this.ofdlist.FileName;

picphoto.Image=Image.FromFile(fullName);

txtdescrp.Text=fullName;

}

}//添加

public voidSongInfoAdd()

{string name = txtname.Text;//歌手姓名

string type = "";//类别

if(ramale.Checked)

{

type= "男";

}else if(rafemale.Checked)

{

type= "女";

}else if(raguoup.Checked)

{

type= "组合";

}int id = Convert.ToInt32(cbotype.SelectedValue);//类型

string description = txtdescrp.Text;//描述

SqlConnection con = newSqlConnection(DBHelp.str);string sql = "insert into singer_info values('" + name + "'," + id + ",'" + type + "','" + fileName + "','" + description + "')";

SqlCommand cmd= newSqlCommand(sql,con);try{

con.Open();int count =cmd.ExecuteNonQuery();if (count > 0)

{

File.Copy(fullName, Commod.DBsongurl+ "\\" + fileName, true);

MessageBox.Show("歌手添加成功");

}else{

MessageBox.Show("歌手添加失败");

}

}catch(Exception)

{

MessageBox.Show("歌手加载失败"); ;

}finally{

con.Close();//关闭

}

}//修改

public voidSongInfoUpdate()

{

}//关闭

private void btnclose_Click(objectsender, EventArgs e)

{this.Close();

}private void btnadd_Click(objectsender, EventArgs e)

{if (this.Text=="修改歌手信息")

{

Update();//修改

}else{

SongInfoAdd();//保存功能

}

}//load修改

string ch="";//单选按钮值

int type = 0;public voidLoad_information()

{

SqlConnection con= newSqlConnection(DBHelp.str);string sql = "select singer_name,singer_gender,singertype_id,singer_description from singer_info where singer_name ='" + uname + "'";

con.Open();

SqlCommand cmd= newSqlCommand(sql, con);

SqlDataReader dr=cmd.ExecuteReader();try{if (dr != null)

{if(dr.HasRows)

{while(dr.Read())

{

txtname.Text= dr["singer_name"].ToString();

ch= dr["singer_gender"].ToString();#region MyRegion判断男女,给单选按钮赋值

if (ch == "男")

{

ramale.Checked= true;

}else if (ch == "女")

{

rafemale.Checked= true;

}else{

raguoup.Checked= true;

}#endregion

int type = Convert.ToInt32(dr["singertype_id"]);#region MyRegion 给下拉框赋值

if (type == 1)

{

cbotype.Text= "大陆";

}else if (type == 2)

{

cbotype.Text= "香港";

}else if (type == 3)

{

cbotype.Text= "台湾";

}else if (type == 4)

{

cbotype.Text= "欧美";

}else if (type == 5)

{

cbotype.Text= "日韩";

}#endregiontxtdescrp.Text= dr["singer_description"].ToString();

}

}

}

}catch(Exception)

{

MessageBox.Show("歌手个别信息不完善!!!");

}finally{

con.Close();

}

}//修改

public voidUpdate()

{int songid =Convert.ToInt32(cbotype.SelectedValue);int num =txtname.Text.Length;

SqlConnection con= newSqlConnection(DBHelp.str);//singer_id, singer_name, singertype_id, singer_gender, singer_photo_url, singer_description

string sql = @"update singer_info set singer_name='" + txtname.Text + "',singer_gender='" + ch + "',singer_photo_url='" + fileName +

"',singertype_id=" + type + ",singer_description='"+txtdescrp.Text+"' where singer_name ='" + uname + "'";

SqlCommand cmd= newSqlCommand(sql, con);try{

con.Open();int count =cmd.ExecuteNonQuery();if (count > 0)

{

MessageBox.Show("修改成功");

}

}catch(Exception)

{

MessageBox.Show("加载失败"); ;

}finally{

con.Close();

}

}

}

}

由于一些问题暂不能帮你们把KTV项目完全展示, 不过后台会很快补回来的,如果想多了解点知识,就多多的来学习吧!博客园都在等你们啊。。。。。。

ktv点歌系统主界面java_欢迎进入MyKTV前后台点歌系统展示相关推荐

  1. 《iPad开发从入门到精通》——6.2节系统主界面

    本节书摘来自异步社区<iPad开发从入门到精通>一书中的第6章,第6.2节系统主界面,作者 杨春泽,更多章节内容可以访问云栖社区"异步社区"公众号查看 6.2 系统主界 ...

  2. 百度AI人脸识别与检测二:学生人脸识别打卡签到系统主界面功能需求和设计以及通过Python实现界面运行

    <百度AI人脸识别与检测>专栏为项目专栏,从零到一,从无到有开发一个学生人脸识别签到系统:主要用到的技术有百度开放平台中的人脸检测.人脸识别.Python图形界面开发PyQt5.线程的管理 ...

  3. CentOS——更换系统主界面壁纸

    一.更换系统默认壁纸 1.在系统主界面右键,选择Change Background- 2.进入Background的Settings界面,选择Background->Wallpapers,选择系 ...

  4. 几个不错的OA系统主界面

    以下几个界面都是从网上搜集,个人感觉不错,可以参考

  5. c语言系统主函数流程图,C语言程序设计——成语学习系统

    头文件 包含内容: 代码: 主函数 功能: 初始化数据,负责调用各个函数,运行登录系统.游戏系统.数据写入系统,完成程序的完整执行. 流程图 代码 Data文件 Data文件包含函数 函数 功能 Ge ...

  6. 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  7. 如何扩展EAS主界面?0514

    采用扩展方式对EAS系统主界面作了二次开发,在组织切换的时候会比关闭掉?跟踪过程如下: 一.切换组织程序流程 LoginInFrame | |_____NewWinMainUI | |____UISy ...

  8. Unity3D应用--打造Android车载3D车模桌面(车载主界面开发)

    前言 Android中应用加载Unity3D来显示3D效果参考上一篇博文:Unity3D导出Android工程(Android中应用Unity3D) 透明背景实现参考另一篇博文: 在Android中U ...

  9. java web系统毕业论文_毕业论文--基于JavaWeb的网络购物中心系统的实现.doc

    毕业论文(设计) 题 目: 基于JavaWeb的购物网络中心系统 完 成 人: 班 级: 学 制: 专 业: 指导教师: 完成日期: 目 录 26014 摘 要( 1) 0 TOC \o " ...

  10. java城市公交查询系统案例_基于JAVA的城市公共交通查询系统的设计与实现

    科技与信息 2018.12 计算机产品与流通 159 基于 JAVA 的城市公共交通查询系统的设计与实现 □ 苏楠 摘要:公共交通查询系统是城市交通的组成部分之一,也是一个城市实现现代化发展的必然产物 ...

最新文章

  1. gcc编译工具的使用
  2. 提高你30%的设计效率的PPT快捷键
  3. 对于JavaScript中this关键字的理解
  4. 010_CSS后代选择器
  5. 短序列组装Sequence Assembly(转载)
  6. Windows API 的数据类型与 Delphi 数据类型对照表
  7. 飞天大数据平台助力轻松筹数字化运营
  8. 关于更新系统后CocoaPods不能使用的问题
  9. kubernetes挂载存储
  10. python学习------面向对象进阶
  11. @JoinColumn 详解
  12. 三角形外接圆圆心坐标
  13. SQL 随机抽取样本
  14. 从斗鱼Android开发二面被刷,到VR微创公司收留,我的NDK开发梦究竟缺了什么
  15. On SDK version 23 and up, your app data will be automatically backed up and restored on app install.
  16. 运放的 零点和极点快速找到
  17. SQLite数据库的下载及安装步骤
  18. java 枚举 静态_Java 静态内部类和枚举(银联支付)
  19. 又做java培训讲师
  20. linux 修改sh文件生效,Linux-shell脚本基础

热门文章

  1. 拨号上网和宽带上网的区别分析
  2. 关于win11系统下查看无线网络密码的方式
  3. PS CC2018安装及破解方法
  4. arcgis在配合数据驱动下制作动态表格及生成拐点坐标表
  5. 赵小楼《天道》《遥远的救世主》深度解析(38)丁元英的“自嘲”和作者豆豆的深意
  6. Win7下安装Ubuntu(双硬盘)的简要步骤
  7. java并发包和类总结-JUC总结
  8. 精益创业实战 - 第1章 基本理念
  9. 《我的团长我的团》书及电视剧观后感
  10. 目前1KB文件夹快捷方式病毒扫清方法