【问题标题】:How could i change the Text of an label by a function?如何通过函数更改标签的文本?
【发布时间】:2020-04-06 15:50:27
【问题描述】:

我的 Windows 窗体上有一个 Label,我想将其中的 Text 更改为 Button2_Click,但前提是另一个 Button之前点击过

示例代码:

bool var1 = false;
//the Label Example
label1.Text = "Noooh!";

private void Button2_Click(object sender, EventArgs e)
{
    function1(label1.Text);
}

private void Button1_Click(object sender, EventArgs e)
{
    var1 = true;
}

private void function1(string Text)
{
    if (var1)
    {
        Text = "Yeaaah!";
    }
}

它应该是这样工作的,你需要点击button1 first,之后你应该点击button2function1应该被激活并更改label1@ 987654330@ 至"Yeaaah!"。代码在 Visual Studio 中执行,但 label1 Text 没有改变,不知道为什么。

【问题讨论】:

    标签: c# winforms function button label


    【解决方案1】:

    更改函数的(技术上,我们称之为方法,而不是函数设计,通过Control(例如label1),不是Text:

    private void Button2_Click(object sender, EventArgs e)
    {
        // we modify control...
        function1(label1);
    }
    
    private void function1(Control ctrl)
    {
        if (var1)
        {
            // ... control's Text to be exact
            ctrl.Text = "Yeaaah!";
        }
    }
    

    【讨论】:

      【解决方案2】:

      label1 是一个全局对象,因此无需将其作为参数传递。

      private void Button2_Click(object sender, EventArgs e)
      {    
          function1();
      }
      
      private void function1()
      {   
          label1.Text = "New Title!";    
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-09
        • 2022-08-20
        • 1970-01-01
        • 1970-01-01
        • 2021-11-16
        • 1970-01-01
        • 1970-01-01
        • 2016-05-28
        相关资源
        最近更新 更多