当前位置:编程学习 > C#/ASP.NET >>

送分啦..一个简单的问题.

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)
  {
  if(text1.value.Trim()!="")
  {
      label1.text=text1.value;
  }
  if(text2.value.Trim()!="")
  {
      label2.text=text2.value;
  }
}
--------------------编程问答-------------------- protected void Button1_Click(object sender, EventArgs e)
  {
  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;
            }
        }
    }
--------------------编程问答--------------------
引用 1 楼 jorln 的回复:
加个判断
C# code
protected void Button1_Click(object sender, EventArgs e)
  {
  if(text1.value.Trim()!="")
  {
      label1.text=text1.value;
  }
  if(text2.value.Trim()!="")
  {
      label2.text=text……


这个可以了 , 你是不想让按钮为空值? --------------------编程问答-------------------- --------------------编程问答-------------------- 记录当前被输入的TextBox,当Button1按下时,根据当前被输入Text去更新对应的label --------------------编程问答--------------------
引用 3 楼 m00ners 的回复:
C# code

    public partial class Form1 : Form
    {
        private bool text1Changed = false;
        private bool text2Changed = false;
        public Form1()
        {
            Initiali……


    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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,