C# 来自鼠标单击事件的多个正确If语句
我正在尝试做废物收集计划,这些是代码的一部分。我的问题是如果picturebox在第二本if statements杂志上显示的图像没有问题。但如果第一张图片显示在第一张if声明报纸和if NewWaste上;给杂志的话就有问题了。因为它将它们都添加到列表框中,但我在picturebox上没有看到第二个图像。我怎样才能解决这个问题C# 来自鼠标单击事件的多个正确If语句,c#,winforms,C#,Winforms,我正在尝试做废物收集计划,这些是代码的一部分。我的问题是如果picturebox在第二本if statements杂志上显示的图像没有问题。但如果第一张图片显示在第一张if声明报纸和if NewWaste上;给杂志的话就有问题了。因为它将它们都添加到列表框中,但我在picturebox上没有看到第二个图像。我怎样才能解决这个问题 private void NewWaste() { Image[] images = new Image[] { newspap
private void NewWaste()
{
Image[] images = new Image[] { newspaper.Image, magazine.Image, glass.Image };
int wastes = rnd.Next(images.Length);
wastePictureBox.Image = images[wastes];
}
//(part of class)
public bool Add(Waste waste)
{
if (FilledVolume + waste.Volume <= Capacity)
return true;
else
return false;
}
private void addPaperWasteBtn_Click(object sender, EventArgs e)
{
if (paperWasteBox.Add(newspaper) == true && wastePictureBox.Image == newspaper.Image)
{
paperWasteListBox.Items.Add("Newspaper");
NewWasteImage();
}
if (paperWasteBox.Add(magazine) == true && wastePictureBox.Image == magazine.Image)
{
paperAtikListBox.Items.Add("Magazine");
NewWasteImage();
}
}
如果您只希望在第一个If语句没有运行时运行第二个If语句,那么您希望在第二个条件检查之前运行一个else If语句 更改:
if (paperWasteBox.Add(newspaper) == true && wastePictureBox.Image == newspaper.Image)
{
paperWasteListBox.Items.Add("Newspaper");
NewWasteImage();
}
if (paperWasteBox.Add(magazine) == true && wastePictureBox.Image == magazine.Image)
{
paperAtikListBox.Items.Add("Magazine");
NewWasteImage();
}
致:
注意第六行的区别 什么是新形象;是吗?对不起,我是说新浪费;对于Add方法,更好的名称是CanAdd。Add建议它在某些地方增加了一种浪费,实际上它非常简单,但我无法思考。非常感谢你。
if (paperWasteBox.Add(newspaper) == true && wastePictureBox.Image == newspaper.Image)
{
paperWasteListBox.Items.Add("Newspaper");
NewWasteImage();
}
else if (paperWasteBox.Add(magazine) == true && wastePictureBox.Image == magazine.Image)
{
paperAtikListBox.Items.Add("Magazine");
NewWasteImage();
}