C#中比如我左边有一排按钮我命名btn1,内容为1.btn2,内容为2...btn10,内容为N
1 。我右边也有一排按钮,我如何按下左边的一个按钮,然后点击右边按钮的时候把值付给右边的某个按钮,
关键的问题来了!
我左边的按钮,比如我第一下点的是btn1,如果我再点一下btn1,那么等等再点击右边的按钮赋值就是空的,就是左边的同一个按钮,当你连续点了2下后,他被点击的效果就取消了。这个怎么弄?望各位大神看看。

解决方案 »

  1.   


    C#中比如我左边有一排按钮我命名btn1,内容为1.btn2,内容为2...btn10,内容为N
    1 。我右边也有一排按钮,我如何按下左边的一个按钮,然后点击右边按钮的时候把值付给右边的某个按钮,
    关键的问题来了!
    我左边的按钮,比如我第一下点的是btn1,如果我再点一下btn1,那么等等再点击右边的按钮赋值就是空的,就是左边的同一个按钮,当你连续点了2下后,他被点击的效果就取消了。这个怎么弄?望各位大神看看。
      

  2.   

    付左边按钮的信息,比如左边按钮的TEXT是123,那么当点到右边的按钮时,右边的按钮text也是123,现在关键是左边按钮连续点击2次后,左边按钮被点击的效果如何去掉。
      

  3.   

    右边按钮点击事件中,最后吧全局变量text为 text=““标示下。
    左边按钮点击完后 全局变量text肯定是点击按钮的text,左边按钮点击事件中判断下text,如果text!=”“则...
    你试试 你写不出来我再试试 应该不难
      

  4.   

    "我左边的按钮,比如我第一下点的是btn1,如果我再点一下btn1,那么等等再点击右边的按钮赋值就是空的,就是左边的同一个按钮,当你连续点了2下后,他被点击的效果就取消了。这个怎么弄?望各位大神看看。"一个值.是按钮点击次数int
    一个值.是按钮有效bool然后左边按钮按一下int就+1,然后判断如果int大于2.bool就等于false
    右边按钮赋值前要if()判断按钮是否有效.再赋值.
      

  5.   

    如果是先点左边btn1,然后再点左边btn2,
    最后点击右边btn3  这种情况呢?
    左边点击两次不同按钮,然后点击右边? 这个是什么要求?
      

  6.   


    我现在左边的按钮式动态生成的,所以左边按钮的点击事件都是同一个,如果照你这样,我第一下点按钮A,第二下点按钮B,那么次数也是2,也不是没效果了,可是这时候,是需要按钮B的值的。
      

  7.   

    左右两侧在一个窗体里是吧 你在窗体里定义个变量 btn 类型是 Button然后在左侧按钮被点击时,让 btn = 当前左侧被点击的按钮 
      

  8.   

    设置一个全局变量  int count = 0;
    点击一次就count++;
    然后判断如果count == 2;
    就isEnabled = false;并且 count = 0;
      

  9.   

    左边的按钮,比如BTN1,当连续点击2下,原本我们还是默认BTN1是被点击着对吧,但现在是连续点击2下之后,就相当于初始化的时候一样,任何按钮都没被点击,我需要这个状态去触发右边按钮,如果左边按钮里,没有一个被点击过的,那么当点击右边的按钮的时候,报错,说你需要先点击左边的按钮。就是这个意思
      

  10.   

    如果左边的按钮都是在同一个click事件中的,你这样处理,当第一下,我点击按钮1,第二下点击按钮2,那么按钮2不是没效果的吗?按钮是动态生成的,所以它的click事件都是同一个。
      

  11.   

    按钮是动态生成的,所以它的click事件都是同一个。
      

  12.   

    如果可以点多个就用 IList<Button>如果只能单点 就 Button
      

  13.   

    那就再定义一个变量string btnName = “”;
    在点击事件里 btnName = 当前点击按钮的name;
    然后在点击事件里 
    if("当前点击按钮的name" == btnName )
    {
        count++;
        if(count == 2)
        {
            //设置按钮初始状态
            btnName = "";
        }
    }
    else
    {
        btnName = "当前点击按钮的name";
        count = 1;
    }
       
      

  14.   

    你每个贴我都看了,看得好晕。楼主要不用图解说明一下吧。贴讲图标识一下你流程。
    中做btn的标识状态吗?
      

  15.   

    不能就只能点击一个,但都是统一个click事件,因为左边的按钮式动态生成的。
      

  16.   

    你这if("当前点击按钮的name" == btnName )条件这个,肯定成立的啊, btnName = 当前点击按钮的name;
    那么else根本没跳进去嘛~~~
      

  17.   


    "当前点击按钮的name" 这表示这次点击的按钮
    btnName 表示上次点击的按钮"当前点击按钮的name" 可以用传参来取得
      

  18.   

    您这个表达真挺让人费解的
    简单的提示下,一个外部int变量,也就是全局变量 ,一个 bool 数据click事件中,int变量++;同时判断int值,如果是1 bool 为true;否则为false;
    在右边的click事件时判断bool值,为true则赋值,否则为空。也可以直接在左边click中根据int值 赋btn值或者赋空值。
      

  19.   

    从点击事件的第一个参数 sender 去取点击事件的发送者
    根据发送者去赋值
    例如点击事件是button_Click(object sender,EvebtAargs e)
    你点btn1 触发的话 sender=btn1
    你点btn2 触发的话 sender=btn2
     后面用switch 判断一下就OK了
      

  20.   

    lz的意思是不是需要一个点击的记忆啊,用Tag怎么样。
    if (button1.Tag == null)
    {
           button1.Tag = true;
    }
     else
    {
           bool clicked = (bool)button1.Tag;
           button1.Tag = !clicked;
    }
      

  21.   

      TextBox[] text = new TextBox[3];
            Button[] button = new Button[3];
            bool[] tb=new bool[3];
               private void button1_Click(object sender, EventArgs e)
            {            
                string textname =(sender as Button).Text;
                int textint=int.Parse(textname.Substring(6,1));            if (!tb[textint])
                {
                    text[textint].Text = textname;
                }
                else
                {
                    text[textint].Text = "";
                }
                tb[textint] = !tb[textint];        }        private void Form1_Load(object sender, EventArgs e)
            {
                text[1] = textBox1;
                text[2] = textBox2;
                button[1] = button1;
                button[2] = button2;
                tb[1] = false;
                tb[2] = false;
            }
      

  22.   

    问下大神“Sandy945” 那个外部变量 IList<Button> 怎么样添加值,和取值啊,     private IList<Button> _btn;
        public IList<Button> Btn
        {
            get { return _btn ; }
            set { _btn = value; }
        }    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
              
            }
        }
        protected void btn1_Click(object sender, EventArgs e)
        {
            _btn.Add(btn1);
        }    protected void Button1_Click(object sender, EventArgs e)
        {
            foreach (Button btn in Btn)
            {
                if (btn.ID == "btn1")
                {
                    this.Button1.Text = btn.Text;
                }
            }
        }
      

  23.   


    // 1. 将所有左侧所有的 button 绑定同一个 click event
    // 2. 定义一个全局 button 变量 btnLeft
    // 3. 公共 button_Click 事件方法如下:
    public void button_Click(sender obj, EventArgs e)
    {
        btnLeft = (Button)obj;
    }
    // 4. 在右边的按钮事件方法中,如下实现:
    public void button_Click2(sender obj, EventArgs e)
    {
        (sender as Button).Text = btnLeft.Text;
    }
      

  24.   

    右侧的按钮也可以绑定同一个 button_Click
      

  25.   

    // 1. 将所有左侧所有的 button 绑定同一个 click event
    // 2. 定义一个全局 button 变量 btnLeft
    // 3. 公共 button_Click 事件方法如下:
    public void button_Click(sender obj, EventArgs e)
    {
        btnLeft = (Button)obj;
    }
    ……
    public void button_Click2(sender obj, EventArgs e)
    {
        (sender as Button).Text = btnLeft.Text;
    }