C# 如何通过单击按钮使图片框可见
我有3个不可见的图片框。我想设置它,这样当我点击按钮时,它会显示第一个图片框,当我再次点击按钮时,它会显示第二个图片框,第三个相同。我不想同时显示所有3个图片框。一次一个。我将在这里使用WinForms,因为PictureBox是WinForms的一部分。这是一个可能的答案: 在Form.cs中,只需写/添加以下内容:C# 如何通过单击按钮使图片框可见,c#,C#,我有3个不可见的图片框。我想设置它,这样当我点击按钮时,它会显示第一个图片框,当我再次点击按钮时,它会显示第二个图片框,第三个相同。我不想同时显示所有3个图片框。一次一个。我将在这里使用WinForms,因为PictureBox是WinForms的一部分。这是一个可能的答案: 在Form.cs中,只需写/添加以下内容: int count = 0; private void button1_Click(object sender, EventArgs e) { if (count ==
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;
}
}
希望,这有帮助
编辑:
如果要获得以下行为:
- 第一次单击按钮:出现第一个picturebox
- 第二次单击按钮:第一个picturebox消失,第二个picturebox出现
- 第三次单击按钮:第二个picturebox消失,第三个picturebox出现
- 第四次单击按钮:第三个picturebox消失,第一个picturebox出现
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;
}
}
这有用吗 有很多解决方案:)可能很复杂:p
示例#1
使用系统;
使用System.Collections.Generic;
使用系统组件模型;
使用系统数据;
使用系统图;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows.Forms;
命名空间WindowsFormsApp1
{
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
picturboxArray=Controls.OfType().Reverse().ToArray();
}
私有整数计数=0;
PictureBox[]PictureBox数组;
公共整数计数
{
获取{返回计数;}
设置
{
如果(值>2)
计数=0;
其他的
计数=数值;
}
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{
PictureBoxHandle(计数);
计数++;
}
公共void PictureBoxHandle(int索引)
{
foreach(此.Controls中的控件X)
{
if(X是PictureBox)
{
X.可见=假;
}
}
picturboxArray[index].Visible=true;
}
}
}
您使用的是什么UI框架/体系结构?WPF MVVM?如果你还没有尝试过任何东西和/或没有代码,那么这篇文章还为时过早。请阅读并采取行动
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;
}
}
}