こんにちは私はここで問題を抱えています。したがって、txtBtn0とtxtBtn1がクリックされるたびに、それ自体の配列がインクリメントされ、squareChecked文字列に使用されることがわかります。しかし、私が最初にやりたいのは、txtBtn0もtxtBtn1もクリックされていない場合にエラーメッセージを出すことです。しかし、それは何もポップアップしません。
public partial class MainForm : Form
{
public int[] clickNumBoxArray = Enumerable.Repeat(1, 81).ToArray();
public MainForm()
{
InitializeComponent();
} ... ... ...
private void btn1_Click(object sender, EventArgs e) {
UserSquare checkClickedBox = new UserSquare();
string checkClickBox = checkClickedBox.squareChecked();
if (checkClickedBox == null) {
MessageBox.Show("You did not enter any text on the form");
}
}
private void txtBtn1_Click(object sender, EventArgs e) {
clickNumBoxArray[1]++;
if (clickNumBoxArray[1] % 2 == 0) {
txtBtn1.BackColor = System.Drawing.Color.DarkOrange;
} else {
txtBtn1.BackColor = System.Drawing.Color.WhiteSmoke;
}
}
private void txtBtn0_Click(object sender, EventArgs e) {
clickNumBoxArray[0]++;
if (clickNumBoxArray[0] % 2 == 0) {
txtBtn0.BackColor = System.Drawing.Color.DarkOrange;
} else {
txtBtn0.BackColor = System.Drawing.Color.WhiteSmoke;
}
}
これは他のクラスです
class UserSquare { public string squareChecked() { string clickedBoxes = null; MainForm numBoxArray = new MainForm(); int[] clickNumBoxArray = numBoxArray.clickNumBoxArray; for (int i = 0; i < 81; i++) { if (clickNumBoxArray[i] % 2 == 0) { clickedBoxes += "txtBtn" + i + ", "; } } return clickedBoxes; }