送分啦..一个简单的问题.
asp.netC#中有5个控件 label1,label2,text1,text2,button1.
我在text1输入内容.点击button1..那么label1的值就变成我在text1输入的内容
我在text1输入内容.点击button1..那么label2的值就变成我在text1输入的内容
我现在是用的一个button1的单击事件.内容是
protected void Button1_Click(object sender, EventArgs e)
{
label1.text=text1.value
label2.text=text2.value
}
这样必须要2个文本框都输入内容点击button才都有内容..如果只到一个文本框里输入内容另外一个label的值就会变成空的.
但是如果我想实现:
如果我只在其中一个文本框中输入内容,然后单击button1.只改变对应的label1的值..而另外一个还是保存原来的 值..这个代码应该怎么写呢.?
就要这5个控件实现..不能在添加新的控件了. --------------------编程问答-------------------- 加个判断
protected void Button1_Click(object sender, EventArgs e)--------------------编程问答-------------------- protected void Button1_Click(object sender, EventArgs e)
{
if(text1.value.Trim()!="")
{
label1.text=text1.value;
}
if(text2.value.Trim()!="")
{
label2.text=text2.value;
}
}
{
label1.text=text1.value
if(!String.IsNullOrEmpty(text2.value))label2.text=text2.value
}
--------------------编程问答--------------------
--------------------编程问答--------------------
public partial class Form1 : Form
{
private bool text1Changed = false;
private bool text2Changed = false;
public Form1()
{
InitializeComponent();
this.textBox1.TextChanged += new EventHandler((sender, e) => { this.text1Changed = true; });
this.textBox1.TextChanged += new EventHandler((sender, e) => { this.text2Changed = true; });
}
private void button1_Click(object sender, EventArgs e)
{
if (this.text1Changed)
{
this.label1.Text = this.textBox1.Text;
}
if (this.text2Changed)
{
this.label2.Text = this.textBox2.Text;
}
}
}
这个可以了 , 你是不想让按钮为空值? --------------------编程问答-------------------- --------------------编程问答-------------------- 记录当前被输入的TextBox,当Button1按下时,根据当前被输入Text去更新对应的label --------------------编程问答--------------------
--------------------编程问答-------------------- 楼上强人一片,景仰路过。
public partial class Form1 : Form
{
private bool text1Changed = false;
private bool text2Changed = false;
public Form1()
{
InitializeComponent();
this.textBox1.TextChanged += new EventHandler((sender, e) => { this.text1Changed = true; });
this.textBox2.TextChanged += new EventHandler((sender, e) => { this.text2Changed = true; });
}
private void button1_Click(object sender, EventArgs e)
{
if (this.text1Changed)
{
this.label1.Text = this.textBox1.Text;
}
if (this.text2Changed)
{
this.label2.Text = this.textBox2.Text;
}
}
}
楼上这种事件处理的思路值得学习,如果是我估计就得多用几个if了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 假如有很多个label和text控件...不是要加很多个判断.? 有什么好的判断方法么.? --------------------编程问答-------------------- 我在text1输入内容.点击button1..那么label1的值就变成我在text1输入的内容
我在text1输入内容.点击button1..那么label2的值就变成我在text1输入的内容
LZ,你确定红色那句是那样没错?
不是“我在text2输入内容.点击button1..那么label2的值就变成我在text2输入的内容”? --------------------编程问答-------------------- 呵呵..确实应该是text2...好了..我弄明白了..结贴了. --------------------编程问答-------------------- TextBox和Label之间先建立匹配关系.
根据Text变化,动态改变Button的Tag属性
--------------------编程问答-------------------- 受益非浅 新手必看 多谢你们无私奉献 --------------------编程问答--------------------
TextBox text1, text2;
Label lable1, lable2;
Button button1;
text1.Tag = lable1;
text2.Tag = lable2;
text1.TextChanged += OnTextChanged;
text2.TextChanged += OnTextChanged;
button1.Click += OnButtonClicked;
private void OnTextChanged(object sender, EventArgs e)
{
button1.Tag = sender;
}
private void OnButtonClicked(object sender, EventArgs e)
{
Label lbl;
TextBox text;
if(button1.Tag != null &&
(text = button1.Tag as TextBox) != null &&
(lbl = text.Tag as Label) != null)
{
lbl.Text = text.Text;
}
}
补充:.NET技术 , C#