学习C#也有段时间了,最近学校要求编写课设。于是,我就写了一个论坛管理系统。用的winform
界面如图:
虽然界面有点丑,但是功能实现就行了嘛。还有好多页面就不放出来了,主页的按钮就代表了大多数的功能,就是对数据库的增删查改嘛。
下面说说我学习到的东西:
1、数据库的连接
string connstring = "server=.;database=数据库名称;uid=登录名;pwd=密码";
SqlConnection conn = new SqlConnection(connstring);
conn.Open();
//对数据库操作的代码
conn.close();
2、当焦点在控件上触发的事件,与当焦点不在控件上触发的事件。
当这两个控件一起使用时,就能实现离开控件焦点时,进行数据判断是否符合要求,当进入控件成为焦点时,就会取消判断
private void mm_Enter(object sender, EventArgs e)
{
mmk.Text = "";
}
private void mm_Leave(object sender, EventArgs e)
{
if(mm.Text==null || mm.Text=="")
{
mmk.Text = "密码不能为空!";
}
else
{
mmk.Text = "";
}
}
3、显示密码的实现
先将你要使用显示密码的控件属性中的PasswordChar属性设置为*,这样密码就会全部显示为*,不会显示真实的你输入的密码。
用一个CheckBox控件控制密码的显示。
对CheckBox控件中的CheckedChanged事件进行编辑:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if(xsmm.Checked)
{
mm.PasswordChar = '\0';
}
else
{
mm.PasswordChar = '*';
}
}
4、窗体间传值
我用的方式可能不安全,不好,由于技术有限,所以请多见谅。或者有更好的方法,在评论区我们讨论一下
创立一个类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bbs
{
class chuanzhi
{
public static string yhm;
public static string title;
public static string time;
public static int mm;
}
}
这样当你想从form1传到form2时,只需
form1:
chaunzhi.yhm="你想要传的值";
form2:
"你想要读取的变量"=chuanzhi.yhm;
5、datagirdview控件与timer的配合使用
private void Zy_Load(object sender, EventArgs e)
{
timer2.Enabled = true;
}
private void timer2_Tick(object sender, EventArgs e)
{
//登录数据库代码
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from message" , conn);
DataSet dataSet = new DataSet();
sqlDataAdapter.Fill(dataSet, "T_Class");
this.main.DataSource = dataSet;
this.main.DataMember = "T_Class";
main.Columns[0].HeaderText = "用户名";
main.Columns[1].HeaderText = "标题";
main.Columns[2].HeaderText = "时间";
main.Columns[3].Visible = false;
if (main.SelectedRows.Count > 0)
{
main.Rows[0].Selected = false;
main.Rows[rows].Selected = true;
}
conn.Close();
}
这样能实现实时刷新数据。
6、Windows Media Player控件的使用
在工具-选择工具箱项中添加Windows Media Player
Windows Media Player常用参数介绍
axWindowsMediaPlayer1.URL = "";设置播放音乐的文件地址
axWindowsMediaPlayer1.Ctlcontrols.pause();//暂停音乐
axWindowsMediaPlayer1.Ctlcontrols.play();//播放音乐
axWindowsMediaPlayer1.Ctlcontrols.stop();//停止音乐