本文已参与「新人创作礼」活动,一起开启掘金创作之路
\
效果图:
功能介绍:
为了防止用户刷屏,每次加载窗口的时候先判断用户是否之前已经提交过,如果已提交过就隐藏提交按钮
用户提交的内容传入数据库,后台软件在读取数据进行审核
按自己的需求
界面设计:
鼠标经过控件变化:
其实就是两个标签,客服的图标就是一个背景图
给他们设置属性和设置鼠标经过鼠标离开时发送的事键即可达到这样的效果
label11属性:
label12属性:
label11鼠标经过事件:
Color ys2 = Color.LightGray; label11.BackColor = ys2; label12.Visible = true;
label11鼠标离开事件:
Color ys2 = Color.Transparent; label11.BackColor = ys2; label12.Visible = false;
不用对label12设置事件,已经在label11的事件写完了
label11点击事件:
foreach (Control aa in this.panel1.Controls) { if (aa is Form) { ((Form)aa).Close(); } } //判断容器是否有新窗口中打开,如果有就关闭窗口
投诉建议 a = new 投诉建议(); a.TopLevel = false; a.Parent = panel1; panel1.Controls.Add(a);//将子窗体载入panel a.Show(); //在容器打开新窗口
文本框去边框限制字数:
标题文本框:
内容文本框:
“发送”鼠标变化
“发送”标签属性:
代码
窗口加载事件:
SqlConnectionStringBuilder a; SqlConnection sql;
private void 投诉建议_Load(object sender, EventArgs e) { a = new SqlConnectionStringBuilder();//创建连接 a.UserID = "xxx";//数据库用户名 a.Password = "xxx";//数据库密码 a.DataSource = "xxxxx";//数据库来自哪 a.InitialCatalog = "xx";//你要访问哪个数据库 sql = new SqlConnection(a.ToString());//打开连接 sql.Open();//打开数据库 SqlCommand b = new SqlCommand("select*from 用户投诉 where 用户名 ='"+ 登录成功界面.us + "'",sql); //创建执行语句 数据库执行语句 SqlDataReader c = b.ExecuteReader(); //执行语句 string str = string.Empty; //读取执行语句内容 while (c.Read()){ str = c["用户名"].ToString(); //赋值给 字符串 } if (str.Length > 0) { label6.ForeColor = Color.Red; label6.Text = "你已有一条记录,感谢您的反馈"; label5.Text = string.Empty; c.Close();//关闭执行语句 sql.Close();//关闭数据库 label3.Visible = false; //隐藏“发送”按钮 return;//如果大于0 就是已经提交过,返回 }
//查询用户之前是否已经提交过 label6.Text = DateTime.Now.ToString(); c.Close();//关闭执行语句 sql.Close();//关闭数据库
}
“发送”标签的点击事件:
//使用正则表达式过滤空格 Regex a = new Regex(@"[\S]");//创建规则 MatchCollection ma = a.Matches(textBox1.Text);//匹配内容 string st = string.Empty;//赋值给字符串 foreach (var pp in ma) { st += pp; } //循环出匹配的内容 //循环后判断字数 if (st.Length! < 5) { MessageBox.Show("您的标题太短!"); return;//字数太少了 返回 } else if(textBox2.TextLength <= 10){ MessageBox.Show("您的内容太短!"); return;//字数太少了 返回 } sql.Open();//打开数据库 SqlCommand b = new SqlCommand("INSERT INTO 用户投诉 VALUES('"+登录成功界面.us+"','"+textBox1.Text+"','"+textBox2.Text+"','"+label6.Text+"')", sql); //创建执行语句 SqlDataReader c = b.ExecuteReader(); //执行 c.Close(); //关闭执行 sql.Close();//关闭数据库
MessageBox.Show("感谢您的反馈!"); label3.Text = "您已发送成功"; label3.Enabled = false; //发送按钮不可用
后台:
后台就比较简单一点,因为数据库在本机上,按自己需求
数据库控件:
刷新按钮:
a = new SqlConnectionStringBuilder(); a.UserID = "xxx"; a.Password = "xxx"; a.DataSource = "xxx"; a.InitialCatalog = "xxxx"; sql = new SqlConnection(a.ToString()); sql.Open(); SqlDataAdapter dataadapter = new SqlDataAdapter("select * from 用户投诉", sql); DataTable dt = new DataTable(); dataadapter.Fill(dt); dataGridView1.DataSource = dt; sql.Close();
纯手打,点个赞呗~