gpt4 book ai didi

c# - 如何使用 C# 通过 Winforms 中的类从数组中获取值

转载 作者:行者123 更新时间:2023-11-30 16:13:23 25 4
gpt4 key购买 nike

我有一个名为 Game.cs 的类,在该类中我有以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Simon
{
class Game
{
public int[] TheArray = new int[1000];

private bool m_Play;
public bool Play
{
set { m_Play = value; }
get { return m_Play; }
}

public Game()
{
Random rnd = new Random();

for (int i = 0; i < 8; i++)
{
TheArray[i] = rnd.Next(0, 4); // between 0 and 3
}

}


}
}

我希望能够从我的表单中调用 TheArray。我希望循环根据我单击 button5 的时间进行迭代,然后我想根据我的数组返回的内容以编程方式单击我的按钮。在我的表单上,我有 4 个按钮,分别是 button1button2button3button4

单击 button5 后,我的代码需要在每次循环遍历 TheArray 时单击基于数组的按钮

到目前为止我有这个:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Simon
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private Game m_game;

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("box1");
}

private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("box2");
}

private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show("box3");
}

private void button4_Click(object sender, EventArgs e)
{
MessageBox.Show("box4");
}

private void button5_Click(object sender, EventArgs e)
{
// Determine which button to click based on TheArray
}

}
}

最佳答案

要单击基于数组的按钮(我假设数组中的 0 对应于 button1 等,您可以尝试这样的操作:

private void button5_Click(object sender, EventArgs e)
{
Button[] button = { button1, button2, button3, button4 };
for (int i = 0; i < m_game.TheArray.Length; i++)
{
button[m_game.TheArray[i]].PerformClick();
}
}

作为旁注,正如@ThunderGr 在评论中指出的那样,您必须创建一个游戏实例,否则将其设为静态。

关于c# - 如何使用 C# 通过 Winforms 中的类从数组中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com