C# 问题: 有N个textbox框,在输入其中一个文本内容时,其它的 textbox 中的文本内容如何自动清除?
8个回答
展开全部
你要问的应该是窗体编程的吧?
这个问题可以这么解决。比如我有5个textbox放在窗体上。
那么可以指定这5个textbox的事件都是同一个。
先在构造函数中写:
textBox1.TextChanged += new EventHandler(TextBox_TextChanged);
textBox2.TextChanged += new EventHandler(TextBox_TextChanged);
textBox3.TextChanged += new EventHandler(TextBox_TextChanged);
textBox4.TextChanged += new EventHandler(TextBox_TextChanged);
textBox5.TextChanged += new EventHandler(TextBox_TextChanged);
为5个textbox都添加同一个TextBox_TextChanged()事件函数。然后在TextBox_TextChanged函数的内容为
void TextBox_TextChanged(object sender, EventArgs e)
{
//循环窗体中的每一个控件
foreach (Control ctl in this.Controls)
{
//如果循环到的控件是当前输入文本的textbox则跳过
if (ctl.Name == (sender as Control).Name)
continue;
else
{
//否则,先判断是不是textbox控件
if (ctl is TextBox)
{
//如果是,则清空控件的值
(ctl as TextBox).Clear();
}
}
}
}
这个问题可以这么解决。比如我有5个textbox放在窗体上。
那么可以指定这5个textbox的事件都是同一个。
先在构造函数中写:
textBox1.TextChanged += new EventHandler(TextBox_TextChanged);
textBox2.TextChanged += new EventHandler(TextBox_TextChanged);
textBox3.TextChanged += new EventHandler(TextBox_TextChanged);
textBox4.TextChanged += new EventHandler(TextBox_TextChanged);
textBox5.TextChanged += new EventHandler(TextBox_TextChanged);
为5个textbox都添加同一个TextBox_TextChanged()事件函数。然后在TextBox_TextChanged函数的内容为
void TextBox_TextChanged(object sender, EventArgs e)
{
//循环窗体中的每一个控件
foreach (Control ctl in this.Controls)
{
//如果循环到的控件是当前输入文本的textbox则跳过
if (ctl.Name == (sender as Control).Name)
continue;
else
{
//否则,先判断是不是textbox控件
if (ctl is TextBox)
{
//如果是,则清空控件的值
(ctl as TextBox).Clear();
}
}
}
}
展开全部
如果是WINFORM,这样处理就行了
private void ClearText(string textName)
{
foreach(Control t in this.Controls)
{
if(((System.Type)(t.GetType())).ToString() == "System.Windows.Forms.TextBox")
{
if(((System.Windows.Forms.TextBox)(t)).Name != textName && ((System.Windows.Forms.TextBox)(t)).Focused == false)
{
((System.Windows.Forms.TextBox)(t)).Text = "";
}
}
}
}
在你的窗体里添加这个方法,然后在每个要控制的文本框TextChanged事件里添加下面这句就行了.
ClearText(((System.Windows.Forms.TextBox)(sender)).Name);
private void ClearText(string textName)
{
foreach(Control t in this.Controls)
{
if(((System.Type)(t.GetType())).ToString() == "System.Windows.Forms.TextBox")
{
if(((System.Windows.Forms.TextBox)(t)).Name != textName && ((System.Windows.Forms.TextBox)(t)).Focused == false)
{
((System.Windows.Forms.TextBox)(t)).Text = "";
}
}
}
}
在你的窗体里添加这个方法,然后在每个要控制的文本框TextChanged事件里添加下面这句就行了.
ClearText(((System.Windows.Forms.TextBox)(sender)).Name);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TextChanged事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script type="text/javascript">
function change(textBox)
{
var items = document.getElementsByTagName("input");
for(i=0;i<items.length;i++)
{
if(items[i].type =="text" && items[i].id!=textBox.id )
items[i].value = "";
}
}
</script>
<input id="Text1" type="text" onchange="change(this)" />
<input id="Text2" type="text" onchange="change(this)" />
<input id="Text3" type="text" onchange="change(this)" />
<input id="Text4" type="text" onchange="change(this)" />
function change(textBox)
{
var items = document.getElementsByTagName("input");
for(i=0;i<items.length;i++)
{
if(items[i].type =="text" && items[i].id!=textBox.id )
items[i].value = "";
}
}
</script>
<input id="Text1" type="text" onchange="change(this)" />
<input id="Text2" type="text" onchange="change(this)" />
<input id="Text3" type="text" onchange="change(this)" />
<input id="Text4" type="text" onchange="change(this)" />
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if( onblur && !=null) { $(":text").val("")}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delkaka 正解
不过最好加上判断条件
if(DialogResult.OK==openFileDialog.ShowDialog())
{
textbox.text=openfiledialog.filename;
}
这样只有在点确定的时候才显示
显示txt内容
using SystemIO:
StreamReader sr = new StreamReader(fileName, Encoding.UTF8);
textBox1.Text = sr.ReadToEnd();
sr.Close();
不过最好加上判断条件
if(DialogResult.OK==openFileDialog.ShowDialog())
{
textbox.text=openfiledialog.filename;
}
这样只有在点确定的时候才显示
显示txt内容
using SystemIO:
StreamReader sr = new StreamReader(fileName, Encoding.UTF8);
textBox1.Text = sr.ReadToEnd();
sr.Close();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询