문제
사용자 정의 확인 이미지가있는 "확인란"을 만들려고합니다. 사용자가 PictureBox를 클릭 할 때 확인되지 않은 것과 검사되지 않은 사이를 전환해야합니다. 다음 코드를 시도했지만 첫 번째 클릭에는 확인 된 이미지가 잘 표시되지만 두 번째 클릭은 아무것도하지 않습니다. 어떤 아이디어?
private void pictureBox7_Click(object sender, EventArgs e)
{
if (pictureBox7.Image == Image.FromFile(checkedImg))
{
pictureBox7.Image = Image.FromFile(uncheckedImg);
}
else
{
pictureBox7.Image = Image.FromFile(checkedImg);
}
}
해결책
당신의 if
진술은 반환 할 가능성이 없기 때문에 잘못되었습니다 true
당신은 인스턴스를 비교하기 때문에 영상 매번 재현하는 수업. 다음과 같이 수정할 수 있습니다.
private bool _pbChecked = false;
private void pictureBox7_Click(object sender, EventArgs e)
{
var pictureBox = (PictureBox)sender;
string imgPath = _pbChecked ? uncheckedImg : checkedImg;
pictureBox.Image = Image.FromFile(imgPath);
_pbChecked = !_pbChecked;
}
제휴하지 않습니다 StackOverflow