winform 里有很多textbox 我如何可以批量的赋值以及 保存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 里有很多textbox 我如何可以批量的赋值以及 保存相关的知识,希望对你有一定的参考价值。
一个一个的赋值 一个一个的保存很麻烦啊?而且DS一个一个对应的赋值繁琐。
还是不行啊 你们呢说的也没解决问题、这个问题我也想了很久还是一样的。
没有简便方法 ,很多 而且和数据库没有直接的规律。只是数据路里有对应的字段。
或者就不能用textbox换成其他控件。
document.getElementsByTagName("TagName") 获取页面标签元素
value属性就是赋值...获得的是一个数组,要循环赋值
具体代码:
<script language="javascript" type="text/javascript">
var inPuts=document.getElementsByTagName("input"); //获取页面所有input标签元素,inPuts类型会自动设为数组
for(var i=0;i<inPuts.length;i++) //遍历inPuts数组
if(inPuts[i].type=="text") //判断类型是否为文本框
inPuts[i].value=" "; //为文本框赋值
</script>
获取的标签是input,不是textbox,因为经过服务器的解析编译后,textbox在浏览器中是会被解析编译为<input type="text" />的
放在</body>和</html>之间吧 参考技术A D:\WindowsApplication6\WindowsApplication6\bin\Debug\XData.xml
<?xml version="1.0" encoding="utf-8" ?>
<TextBoxValues>
<txt Name="txt1">aaa</txt>
<txt Name="txt2">bbb</txt>
<txt Name="txt3">ccc</txt>
<txt Name="txt4">ddd</txt>
<txt Name="txt5">fff</txt>
<txt Name="txt6">eee</txt>
<txt Name="txt7">ggg</txt>
<txt Name="txt8">hhh</txt>
<txt Name="txt9">jjj</txt>
<txt Name="txt10">kkk</txt>
</TextBoxValues>
public partial class Form1 : Form
Dictionary<string, string> txtValue;
XmlDocument doc;
public Form1()
InitializeComponent();
txtValue = new Dictionary<string, string>();
doc = new XmlDocument();
private void Form1_Load(object sender, EventArgs e)
foreach (Control c in this.Controls)
if (c is TextBox)
txtValue.Add(c.Name, null);
doc.Load(Application.StartupPath + "\\XData.xml");
foreach (XmlNode v in doc.ChildNodes[1].ChildNodes)
txtValue[v.Attributes[0].Value] = v.InnerText;
//Textbox控件名称要与XML中的Name名称一致,
思路是这样的,根据控件名称生成Xml和数据字典,key控件名称,value控件值,
存取根据字典值
//加载值
private void button1_Click(object sender, EventArgs e)
foreach (Control c in this.Controls)
if (c is TextBox)
((TextBox)c).Text = txtValue[c.Name];
//保存到字典
你也可以根据字典值保存到XML就永久保存了
private void button2_Click(object sender, EventArgs e)
foreach (Control c in this.Controls)
if (c is TextBox)
txtValue[c.Name]=((TextBox)c).Text;
参考技术B 1、在工程中导入下面两个文件ADOConn.h和ADOConn.cpp(见后面)
2、在需要调用数据库的CPP文件开始包含头文件 #include "ADOConn.h"(数据库连接的代码已封装到ADOConn.cpp中的OnInitADOConn方法)
3、按照数据库连接-》数据库操作-》断开连接的步骤调用(以从数据库中获取数据为例)
ADOConn m_ADOConn1; // 定义ADOConn类对象
m_ADOConn1.OnInitADOConn(); //连接数据库
CString sql1;
sql1.Format("select top 20 职务,count(职务) as NameCount from tb_holidays group by 职务 order by 'NameCount' desc");
//设置查询语句
m_ADOConn1.m_pRecordset = m_ADOConn1.GetRecordSet((_bstr_t)sql1); //查询
while(!m_ADOConn1.m_pRecordset->adoEOF)
CString temp;本回答被提问者采纳 参考技术C 如果你的TextBox名称是很有规律性或者能够知道要改的TextBox名的话,可以这样做:
for (int i = 1; i <= 30; i++)
Control myControl1 = FindControl("TextBox" + i.ToString());
myControl1.Text = "";
如果有什么问题,可以继续深入讨论。 参考技术D 遍历所有的textbox相信上面各位仁兄说的都可以,但是对指定的textbox赋值各位没有讲明白,
其实很简单的,只要把需要保存和赋值的textbox设置成有规律的id,问题不就很简单了嘛,比如说按钮btn1操作的textbox有三个,那这三个textbox的id就可以写成txt_btn1_1,txt_btn1_2,txt_btn1_3,
这样在遍历的时候就可以根据id找出指定的textbox.
如何在WinForms中制作自动滚动多行TextBox? [重复]
可能重复: How do I automatically scroll to the bottom of a multiline text box?
我使用多线TextBox
在从BackgroundWorker
到达的新行中输出一些信息。
每次新线路到达时,我可以将其滚动到最底部吗?
默认情况下,它似乎恰恰相反 - 每次新行到达并且Text
属性发生更改时,它会滚动到第一行。
答案
设置TextBox
属性:
Multiline = True;
ScrollBars = Both;
要自动滚动TextChanged
事件:
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
以上是关于winform 里有很多textbox 我如何可以批量的赋值以及 保存的主要内容,如果未能解决你的问题,请参考以下文章
C#如何将console的输出转为winForm textBox输出啊??
C# winform 在一个窗体中如何设置另一个窗体的TextBox的值
winform 窗体退出前判断表单是不是修改过,窗体上的控件有很多个,TextBox,combox,datagridview