想用Dtagridview实现多用户登录的功能。
主要截图如下:
功能介绍: 1)输入名字和密码后,点击验证码图片 获取验证码或者切换验证码。
2)输入验证码,点击 按钮 登陆
3)登陆后返回的结果 在按钮文本上显示。
设计思路:
1.主要有个类fatie,要用于线程获取验证码和登陆。
字段:row行号-- 标志datagridview中哪行哪列正在获取验证码,或者正在登陆,或者需要更新 state 信息
column 列号,获取到的验证码的图片类型image,提示状态字段state,user成员。
方法: 登陆,获取验证码
2. Timer控件每秒更新一下 列4的值。
dataGridView1_CellContentClick事件中绑定按钮事件,通过列index值 判断是第几列被点击。
添加一行: dataGridView1.Rows.Add("five", "six", null, "3", "3333");
DataGridview 实用中遇到的问题和部分知识点。
1)DataGridView的标题头的 rowindex 是-1. rowindex 和columnindex 起始值都是0.
设置某列的值 DataGridView1.Rows[i].Cells[i].value.
默认模板列的几种类型,当设置value的时候要设置对应的类型。 比如: image 列 赋值 则要用image类型的值赋值。
2)DataGridViewButtonColumn 绑定按钮事件。 当点击button 按钮说话。
//cellContextClick 事件,当点击某单元格说话,会获取改单元格的 行号和列号,只要行号不为-1,则指定规定列进行相应的事件。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { //MessageBox.Show("CellContentClick"+e.RowIndex.ToString()); //标题头的 rowindex 是-1 //绑定button事件。 如果是不是-1行,而且是 第4列的话,则 绑定button事件 if (e.RowIndex !=-1) { //button 第4列则提交 if (e.ColumnIndex == 4) { user a = new user(); a.name = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Trim(); a.pwd = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString().Trim(); a.logincheckcode = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString().Trim(); submit_click(e.RowIndex, 4,a); } //点击图片获取验证码 else if (e.ColumnIndex == 2) { submit_click(e.RowIndex, 2,null); } } }
项目代码见:文件--DataGridveiw学习.7zip 压缩包