winform listBox统计信息,利用跨窗体传值实现信息修改-洋葱先生-杨少通
发布日期:2021-10-03 07:58:45
浏览次数:2
分类:技术文章
本文共 3300 字,大约阅读时间需要 11 分钟。
winform ListBox统计信息,利用跨窗体传值实现信息修改
实现功能:
①点击新增,弹出新界面,填入姓名、性别和年龄,点击“确定”按钮后新界面关闭,主窗体新增一条信息
②选择任意行数据(比如第二行“李四”),点击修改,弹出新界面,并显示第二行数据的具体信息,在新界面修改完毕(比如姓名改为“李四2”,性别改为“男”),点击“确定”按钮后新界面关闭,主窗体第二行信息做相应修改(姓名改为“李四2”,性别改为“男”)。
③需要创建窗体3-5-1、3-5-2、3-5-3
④窗体3-5-1中所需控件:GroupBox、ListBox、2个Button(分别命名新增、修改)。Name属性值如下:
该窗体代码如下:
//窗体Load事件 private void _3_5_1_Load(object sender, EventArgs e) { //groupBox更名 groupBox1.Text = "人员详细情况表"; //给ListBox1添加项 listBox1.Items.Add("张三 男 20"); listBox1.Items.Add("李四 女 10"); listBox1.Items.Add("张牛 男 22"); listBox1.Items.Add("王武 男 20"); } //“添加”按钮的click事件 private void btnInsert_Click(object sender, EventArgs e) { //实例化f2 _3_5_2 f2 = new _3_5_2(); //f2中的f1赋值为该窗体 f2.f1 = this; //f2以非模式化形式显示(可进行窗体切换) f2.Show(); } //“修改”按钮的click事件 private void btnRevise_Click(object sender, EventArgs e) { //实例化f3 _3_5_3 f3 = new _3_5_3(); //f3中的公共变量赋值为ListBox1中选定项的内容 f3.reviseInformation = listBox1.SelectedItem.ToString(); //f3中的f1赋值为该窗体 f3.f1 = this; //f3以非模式化形式显示(可进行窗体切换) f3.Show(); } //跨窗体传值的添加函数 public void insertInform_Function(string newInform) { //添加新项,内容为newInform的值 listBox1.Items.Add(newInform); } //跨窗体传值的修改函数 public void reviseInform_Function(string newInform) { //更改选中项的值,不能直接改变selecedItem的值,所以采用如下方法 listBox1.Items[listBox1.SelectedIndex] = newInform; }
⑤窗体3-5-2中所需控件:3个Label,2个TextBox,1个ComboBox,1个Button。Name属性值如下:
该窗体代码如下:
public _3_5_1 f1; //窗体load事件 private void _3_5_2_Load(object sender, EventArgs e) { //窗体命名为“添加信息”,显示于标题栏。 this.Text = "添加信息"; //comboBox添加项 comboBox1.Items.AddRange(new object[2] { "男", "女" }); //将comboBox改为下拉不可输入式 comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; } //“确认”按钮 private void btnOK_Click(object sender, EventArgs e) { string s; //字符串s被赋值为新添加项的内容 s = textBox1.Text + " " + comboBox1.SelectedItem.ToString() + " " + textBox2.Text; //将s作为实参传递回f1 f1.insertInform_Function(s); //f2关闭 this.Close(); //提示“添加成功” MessageBox.Show("添加成功!"); }
⑥窗体3-5-2中所需控件:3个Label,2个TextBox,1个ComboBox,1个Button。Name属性值如下:
该窗体代码如下:
public string reviseInformation; public _3_5_1 f1; //窗体load事件 private void _3_5_3_Load(object sender, EventArgs e) { //窗体命名为“修改信息”,显示于标题栏。 this.Text = "修改信息"; //comboBox添加项 comboBox1.Items.AddRange(new object[2] { "男", "女" }); //将comboBox改为下拉不可输入式 comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; //以空格分割数据,存入数组s中 string[] s = reviseInformation.Split(' '); //获得姓名 textBox1.Text = s[0]; //获得性别 comboBox1.SelectedItem = s[1]; //活动年龄 textBox2.Text = s[2]; } private void btnOK_Click(object sender, EventArgs e) { string s; //字符串s被赋值为更改后的内容 s = textBox1.Text + " " + comboBox1.SelectedItem.ToString() + " " + textBox2.Text; //将s作为实参传递回f1 f1.reviseInform_Function(s); //f3关闭 this.Close(); //提示“修改成功” MessageBox.Show("修改成功!"); }
如有转载请注明来源: www.dreamload.cn/blog/?p=351&preview=true (洋葱先生)
转载地址:https://blog.csdn.net/Kindergarten_Sir/article/details/108587932 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月02日 07时01分11秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
带宽大小及各频段对系统的影响
2019-04-28
MATLAB - plot的Tex字体设置
2019-04-28
力矩环PID调参要领
2019-04-28
pybotics工具箱中机器人模型的定义
2019-04-28
MATLAB - 数字信号包络线的求取
2019-04-28
产品可靠性测试 - 学习笔记(1)
2019-04-28
传感器的基本参数笔记
2019-04-28
vscode注释乱码的最简单解决方案
2019-04-28
MATLAB - Modbus TCP客户端的使用
2019-04-28
Power PMAC运动控制器 —— 学习笔记7
2019-04-28
Simulink框图转C代码笔记
2019-04-28
Word修改默认英文字体为Times New Roman
2019-04-28
Word页面底部有空白却自动换行的解决方案
2019-04-28
振动抑制浏览笔记
2019-04-28
MATLAB - 双y坐标绘图
2019-04-28
Matlab中legend的位置
2019-04-28
Eigen3矩阵与数组的互相转换
2019-04-28
动力学方程MCG矩阵的计算
2019-04-28
windows下Makefile无法删除中间文件的解决方案
2019-04-28
Simulink生成ROS功能包的步骤总结
2019-04-28