我有3个不可见的图片框。我想设置它,所以当我点击按钮它显示第一个图片框时,当我再次点击按钮它将显示第二个和第三个相同。我不想一次显示所有3个图片框。一次一个。
答案 0 :(得分:0)
我将在这里使用WinForms,因为PictureBox是WinForms的一部分。这是一个可能的答案:
在Form.cs中只需编写/添加:
int count = 0;
private void button1_Click(object sender, EventArgs e)
{
if (count == 0)
{
//Make PictureBox1 visible
pictureBox1.Visible = true;
count++;
}
else if (count == 1)
{
//Make PictureBox visible
pictureBox2.Visible = true;
count++;
}
else if (count == 2)
{
//Make PictureBox3 visible
pictureBox3.Visible = true;
count++;
}
else if (count == 3)
{
//Hide all PictureBoxes again
pictureBox1.Visible = false;
pictureBox2.Visible = false;
pictureBox3.Visible = false;
count = 0;
}
}
希望,这有帮助吗?!
编辑: 如果您想获得以下行为:
然后使用此代码:
int count = 0;
private void button1_Click(object sender, EventArgs e)
{
if (count == 0)
{
//Make PictureBox1 visible
pictureBox1.Visible = true;
pictureBox2.Visible = false;
pictureBox3.Visible = false;
count++;
}
else if (count == 1)
{
//Make PictureBox2 visible
pictureBox2.Visible = true;
pictureBox1.Visible = false;
pictureBox3.Visible = false;
count++;
}
else if (count == 2)
{
//Make PictureBox3 visible
pictureBox3.Visible = true;
pictureBox1.Visible = false;
pictureBox2.Visible = false;
count = 0;
}
}
这有帮助吗?!
答案 1 :(得分:0)
有很多解决方案:)可能很复杂:p
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 WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
picturboxArray = Controls.OfType<PictureBox>().Reverse().ToArray();
}
private int count = 0;
PictureBox[] picturboxArray;
public int Count
{
get { return count; }
set
{
if (value > 2)
count = 0;
else
count = value;
}
}
private void button1_Click(object sender, EventArgs e)
{
PictureBoxHandle(count);
Count++;
}
public void PictureBoxHandle(int index)
{
foreach (Control X in this.Controls)
{
if (X is PictureBox)
{
X.Visible = false;
}
}
picturboxArray[index].Visible = true;
}
}
}