私のプログラムでは、キューブ形式の5つの異なるラベルが作成され、ドロップダウンします。私がそれらを押すと、彼らは見えなくなる。私はそれらのすべてが目に見えないかどうかチェックしたいが、そうする方法がわからない。このサイトを試してみると、ブールとの解決策が見つかりましたが、それは自分のやり方では機能しません。私のラベルが表示されても、そのうちの4つしか表示されません。 LINQのを使用してC#すべての配列要素が表示されているかどうかをチェックする方法
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Label [] kubeliai = new Label [5];
int poz = 100;
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < kubeliai.Length; i++)
{
kubeliai[i] = new Label();
Controls.Add(kubeliai[i]);
Random pos = new Random();
kubeliai[i].Top = 50;
kubeliai[i].Left = poz;
poz += pos.Next(50, 200);
kubeliai[i].BackColor = Color.Red;
kubeliai[i].Height = 20;
kubeliai[i].Width = 20;
kubeliai[i].Click += new EventHandler(kubelio_clickas);
}
Timer kritimo_laikrodis = new Timer();
kritimo_laikrodis.Interval = 10;
kritimo_laikrodis.Tick += new EventHandler(laikrodis);
kritimo_laikrodis.Enabled = true;
}
void kubelio_clickas (object sender, EventArgs e)
{
((Label)sender).Visible = false;
}
void laikrodis (object sender, EventArgs e)
{
for (int i = 0; i < kubeliai.Length; i++)
{
kubeliai[i].Top += 1;
if (kubeliai.All.Visible == false) // this is an error
{
kubeliai[i].Visible = true;
kubeliai[i].Top = 50;
Random pos = new Random();
poz += pos.Next(50, 200);
}
}
}
配列をループし、可視プロパティをチェックします。ところで、ループの外で一度ランダムオブジェクトを作成する必要があります。実際にフォーム全体で1つのフォーム/コールレベルを作成してください。 – Plutonix
'kubeliai.All.Visible == false'はエラーですか?..あなたの質問にそのことを示してください。 –