我想让一个按钮运行一些代码,然后在Windows窗体中再次按下它自己。

当我调用按钮本身时,出现错误:

 System.StackOverflowException
       HResult=0x800703E9
       Source=<Cannot evaluate the exception source>
       StackTrace:
     <Cannot evaluate the exception stack trace>

我想编写一个资源监视程序,以使自己熟悉C# 现在,我被字符串处理和显示不断变化的字符串所困扰。 我使用一个随机生成的数字作为占位符,我想永久显示和更改它,以模拟真实数据。

我有的代码:

public void Start_Click(object sender, EventArgs e){
      var usage =new CpuUsage(); //placeholder class for getting the CPU use data
      usage.setCPU(); //gets a random number
      this.CPU.Text = usage.cpuUsage; //show the usage data on a textbox
      Start_Click(null, EventArgs.Empty); //call this button again here
}

我想要的外观如下:

  1. 获取数据
  2. 使用文本框显示数据
  3. 重做这个

#1楼 票数:2

我认为您正在寻找的是Timer控件。 您可以将其设置为以特定间隔运行,并定义以该间隔运行的代码。 如果只想在按下按钮时启动计时器,则也可以控制计时器的启动和停止。

例如,在窗体上放置一个Timer控件,然后尝试以下代码:

private void Form1_Load(object sender, EventArgs e)
{
    // Set the interval to how often you want it to execute
    timer1.Interval = (int)TimeSpan.FromSeconds(1).TotalMilliseconds;
    // Set a method to run on every interval
    timer1.Tick += Timer1_Tick;
}

public void Start_Click(object sender, EventArgs e)
{
    // start or stop the timer
    timer1.Enabled = !timer1.Enabled;

    // Above we are just flipping the 'Enabled' property, but
    // you could also call timer1.Start() (which is the same as 
    // setting 'Enabled = true') or timer1.Stop() (which is
    // the same as setting 'Enabled = false')
}

// Put code in this method that should execute when the timer interval is reached
private void Timer1_Tick(object sender, EventArgs e)
{
    var usage = new CpuUsage(); //placeholder class for getting the CPU use data
    usage.setCPU(); //gets a random number
    this.CPU.Text = usage.cpuUsage; //show the usage data on a textbox
}

  ask by RedXRed translate from so

未解决问题?本站智能推荐:

1回复

C#如何将数组绑定到按钮数组

我正在练习viewModel和数据绑定的结构。 我创建按钮并将它们添加到数组中,以便可以使用for循环轻松管理它们。 但是,似乎在绑定它们时我会犯一些错误。 这是我的代码: 在我的ViewModel中 当我运行它时,我得到一个ArgumentException
2回复

在 C# 中,如何在单击 Windows 窗体中的按钮后将某些内容打印到控制台?

我正在使用 Visual Studio 2019 和 Windows 窗体(.NET Framework),我有一个带有按钮的 Windows 窗体。 单击名为“btnPrint”的按钮后,我想将某些内容打印到控制台。 我不知道该放什么代码。 我试过 Console.WriteLine("Hell
2回复

有没有更好的方法来关闭点击按钮?

我是一个初学者,要完成一项作业,必须编写NIM游戏。 我从15个“令牌”开始,每轮最多可以删除或“隐藏”三个。 到目前为止,我通过执行以下操作来隐藏这些标记。 我只是简单地复制并粘贴了多次,然后更改了按钮编号,以便单击时可以关闭我的按钮。 这可能很明显,但是有没有比15个按钮关闭方
2回复

在C#窗体中共享字典

我有一个带有一系列按钮的表格。 button4必须从Excel加载一些数据并将信息存储到名为dataMap的字典中 此代码正确生成字典,我需要的所有数据都存储在dataMap中 。 现在的问题是,当我点击另一个按钮时,我需要可以访问字典中的信息。 为了做到这一点,我尝试了以下内容:
1回复

DataGridViewCellStyle如何设置样式按钮?

我是C#的初学者,我正在尝试在Windows窗体中设置DataGridView按钮的样式。 我不知道如何从按钮中删除边框或更改悬停颜色。 DataGridView设置中缺少常规按钮上的许多配置。 如何在DataGridView中实现完整的可编辑按钮?
2回复

WinForms按钮数组

我正在学习C#,并且已经练习了如何使用Windows Forms创建计算器。 现在,我只为数字添加了9个按钮,为休闲操作(+,-,*,/)添加了4个按钮,以及一个将数字写为字符串的标签。 目前,我正在这样做: 并记住DRY原理,这对我来说似乎是不好的编写代码。 有没有办法写得更好?
2回复

按钮单击事件概括

当我单击按钮时,如何在列表框中获取按钮的文本,而没有为所有按钮定义事件。 如何概括它。
1回复

在DataGridViewButtonColumn的单元格中更改按钮的背景色

我有一个包含DataGridViewButtonColumn的DataGridView。 我想更改此列内按钮的颜色。 我已经在单元格中设置了按钮的填充,以使按钮不会填充单元格。 如果我使用此代码: 我知道按钮和单元格都是黄色的。 我只想要黄色按钮。 我的网络,要改变按钮的颜色我