【问题标题】:Get the text value of the button that was clicked获取被点击按钮的文本值
【发布时间】:2015-10-23 10:01:22
【问题描述】:

我正在尝试从单击的按钮中获取文本值。在我的脑海中,它看起来像这样:

private void button2_Click(object sender, EventArgs e)
{
    string s =  thisbutton.text
}

【问题讨论】:

    标签: c# winforms events


    【解决方案1】:

    触发事件的对象是sender,所以:

    private void button2_Click(object sender, EventArgs e)
    {
        string s = (sender as Button).Text;
    }
    

    【讨论】:

    • 当我使用它时,我得到错误“按钮”不包含文本的定义,而智能感知只给我 TextInput 类似的东西。
    • @DumitruDaniel 使用 WPF 时,您必须使用 (sender as Button).Content。我猜.Text 与 Windows 窗体有关。
    【解决方案2】:

    只需将发送者对象转换为按钮对象并访问文本属性:

    protected void btn_Click (object sender, EventArgs e){
       Button btn = sender as Button;
       string s= btn.Text
    }
    

    【讨论】:

      【解决方案3】:

      应该是这样的:

      private void button2_Click(object sender, EventArgs e)
      {
        string s =  this.button2.Text;
      }
      

      【讨论】:

      • this.button2.Text; 实际上会从按钮 2 获取文本,因此文本将始终相同
      • 我假设这个事件被多个按钮共享。不要关注方法名button2_Click。
      • 我真的很想动态访问按钮,这样我就可以使用相同的代码。请参阅上面接受的答案。我想我应该更清楚。
      【解决方案4】:

      在每个内置事件处理程序中有两个参数sender 和e.Sender 引用触发事件的对象。第二个参数e 包含有关事件的一些信息(例如指针和其他此类的位置) 你只需要把它带到Button类型并得到你想要的信息

      【讨论】:

        【解决方案5】:

        尝试将此示例应用到您的按钮事件中

        private void button_click(object sender, EventArgs e)
        {
           var getValue = ((Button)sender).Text; //this will get the value of the text using sender
        }
        

        【讨论】:

          【解决方案6】:

          这是前段时间提出的问题,我的平台可能与 OP 使用的平台略有不同,但我对 GTK 提出了相同的问题。

          我正在使用 GTK2+ 在 OSX 中的 Xaramin / Visual Studio 中进行开发,对我来说,最初接受的答案很接近,但会产生 .Text 不存在的错误。就我而言,它必须是Label。这对我有用:

          protected void Button_Clicked(object sender, EventArgs e)
          {
              Button btn = sender as Button;
          
              lblWhichButton.Text = btn.Label;
              if (btn.Label == "<<<" )
                  i--;
              else
                  i++;
              lblCounter.Text = "" + i;
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-06-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-01-21
            相关资源
            最近更新 更多