Winform控件操作
Posted zhixiaoxiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform控件操作相关的知识,希望对你有一定的参考价值。
对于控件赋值,刚接触客户端(WPF)的时候是一个控件一个控件的传值 ,如:this.xxx.Text ="123",后来,觉得这样太麻烦了,就用循环控件进行绑定值以及得到json格式的值(https://www.cnblogs.com/zhixiaoxiao/p/11897143.html),太好用了。妈妈再也不用担心我因为给N个控件赋值而累死了。
下面是我第一次接触Winform的笔记,笔记粗糙, 没有封装成一个完整的类,后面项目中会整理,记录下来:
循环绑定的代码如下:
foreach (Control item in this.panel.Controls) { if (item is TextBox) { var tex = item as TextBox; tex.Text = t.Textb; } if (item is CheckBox) { var ch = item as CheckBox; ch.Checked = t.Checkb; } if (item is DataGridView) { var dg = item as DataGridView; dg.DataSource = tests; } if (item is ListBox) { var lis = item as ListBox; lis.DisplayMember = "Textb"; lis.ValueMember = "Checkb"; lis.DataSource = tests; } }
多控件循环取值,放到Json中,代码如下:
Dictionary<string, object> keyValues = new Dictionary<string, object>(); foreach (Control item in this.panel.Controls) { if (item is TextBox) { var tex = item as TextBox; keyValues.Add(tex.Name, tex.Text); } if (item is CheckBox) { var ch = item as CheckBox; keyValues.Add(ch.Name, ch.Checked); } if (item is DataGridView) { var dg = item as DataGridView; keyValues.Add(dg.Name, (dg.CurrentRow.DataBoundItem as Test).Textb); } if (item is ListBox) { //var lis = item as ListBox; //lis.DisplayMember = "Textb"; //lis.ValueMember = "Checkb"; } } string jsonStr = JsonConvert.SerializeObject(keyValues); MessageBox.Show(jsonStr);
以上是关于Winform控件操作的主要内容,如果未能解决你的问题,请参考以下文章
winform 自定义控件,继承自ListView 和treeview 怎么做,一般用于做权限操作
winform里DataGridView这个控件直接绑定数据库信息实时交互操作?
winform中如何在多线程中更新UI控件--ListView实时显示执行信息