C# 一个窗体想点击按钮批量清空所有TextBox、comboBox、checkBox的数据,怎么实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 一个窗体想点击按钮批量清空所有TextBox、comboBox、checkBox的数据,怎么实现?相关的知识,希望对你有一定的参考价值。
这个按钮是在toolStrip上的一个,因为内容太多所以想用个数组实现批量清空
关于TextBox我这样写的
private void toolStripButton3_Click(object sender, EventArgs e)
TextBox[] tboxes = new TextBox[500];
foreach (TextBox t in tboxes)
t.Text = String.Empty;
报错是“未处理NullReferenceException”
另外comboBox、checkBox部分怎么写?
求高手指点!望尽快得到答复!万分感谢
新手上路求详解……错在哪里……应该怎么写……Orz
把TextBox、comboBox、checkBox放在一个Panel上或者其他容器上,然后
foreach (Control c in this.panel1.Controls)
if (c is TextBox)
((TextBox)c).Text = string.Empty;
if (c is ComboBox)
((ComboBox)c).Items.Clear();
if (c is CheckBox)
((CheckBox)c).Checked = false;
参考技术B new 的TextBox并不是你Form上的TextBox
参考代码:
private void button1_Click(object sender, EventArgs e)
foreach (Control c in this.Controls)
if (c.GetType().ToString().Contains("TextBox"))
((TextBox)c).Text = "";
if (c.GetType().ToString().Contains("ComboBox"))
((ComboBox)c).Text = "";
if (c.GetType().ToString().Contains("CheckBox"))
((CheckBox)c).Checked = false;
本回答被提问者采纳 参考技术C foreach (Control ct in this.Controls)
if (ct.GetType().Name.ToLower() == "textbox")
ct.Text = "";
注意 this.Controls
如果textbox是某个控件(groupBox1)的子控件..
则要写成 this.groupBox1.Controls 参考技术D 别用数组。用List<>把。
你这样定义的textbox还没有初始化.
所以引用错误.
List<Textbox> listtb=new List<Textbox>(); 第5个回答 2009-10-22 你的TextBox数组只是new了一个空的数组
遍历它意义何在?
C# 窗体(登录界面)
首先拖动一个 lable(写用户名) 后面 跟一个Textbox
再lable(写密码) 后面 跟一个Textbox(需设置一下属性—行为—useSystemPasswordChar(默认输入的密码为黑点))
再加Button 按钮(text 登录)
如下图:
1、属性——杂项(AcceptButton设置成Button1)就可以按回车显示下一个页面
2、传值:Login.cs[设计] 传到 Main.cs[设计] 里一个值 用构造方法:1、在Main.cs[设计] 里拖一个Lable来准备接收
再在Main.cs里重载一个方法:
再在Login.cs里来接收:——造主窗体对象时 Main m=new Main(uid)
双击登录 加一个事件:
数据操作类如下:
public partial class Login : Form
{
public string username;
public Login()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
先取出用户名 密码
定义变量取到用户名、密码
string uid= textuid.Text;
string pwd= textpwd.Text;
再判断uid是不是空的
if (uid != "" && pwd != "")
{
都不为空时再来判断 uid pwd 是不是匹配
操作数据库 做三个类
LoginDA da = new LoginDA(); 调用方法前先造一个对象
da.Denglu(uid,pwd); 调用第三个类里的方法,传两个参数过来
if (da.Denglu(uid, pwd)) 判断
{
登录之后,关闭登录页面,只显示Main页面,Main成为主窗体
将用户名赋值给成员变量username
username = uid;
将该窗体的返回值变为OK 三步
this.DialogResult = DialogResult.OK;
//将该窗体关闭
this.Close();
}
else
{
MessageBox.Show("用户名或密码错误!");
}
}
else
{
//如果是空
MessageBox.Show("用户名和密码不能为空!");
}
}
需改动:program.cs
下拉列表:
public partial class Main : Form
{
private ZgDA cda;
public Main()
{
InitializeComponent();
}
public Main(string username)//重载了一个Main方法
{
InitializeComponent();
cda = new ZgDA();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void Main_Load(object sender, EventArgs e)
{
填充省的下拉列表
Fillsheng();
填充市的下拉列表
Fillshi();
填充区的下拉列表
Fillqu();
}
private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
{
填充市的下拉列表
Fillshi();
}
private void cmbshi_SelectedIndexChanged(object sender, EventArgs e)
{
填充区的下拉列表
Fillqu();
}
public void Fillsheng()//填充省的方法
{
List<Zg> List= cda.select("0001"); 根据父级代号查到该父级下所有的子集的集合
cmbsheng.DataSource = List; 把查到的集合交给省的下拉作为数据源
cmbsheng.DisplayMember = "Name"; 显示民族名称
cmbsheng.ValueMember = "Code"; 后台值是民族代号
}
public void Fillshi() 填充市的方法
{
List<Zg> List = cda.select(cmbsheng.SelectedValue.ToString());选中哪个省就取到哪个省的代号
cmbshi.DataSource = List; 把查到的集合交给市的下拉作为数据源
cmbshi.DisplayMember = "Name"; 显示民族名称
cmbshi.ValueMember = "Code"; 后台值是民族代号
}
public void Fillqu()//填充市的方法
{
List<Zg> List = cda.select(cmbshi.SelectedValue.ToString()); 选中哪个省就取到哪个省的代号
cmbqu.DataSource = List; 把查到的集合交给市的下拉作为数据源
cmbqu.DisplayMember = "Name"; 显示民族名称
cmbqu.ValueMember = "Code"; 后台值是民族代号
}
}
}
以上是关于C# 一个窗体想点击按钮批量清空所有TextBox、comboBox、checkBox的数据,怎么实现?的主要内容,如果未能解决你的问题,请参考以下文章
c#.net中,如何获取控件的所有属性,界面上有个TextBox, 一个按钮,一个listview点击按钮将Textbox属性获