まず初めに,プログラミングを始めたばかりでわからないことだらけに加え,このサイトを使用するのも初めてのため,拙いところが多々あると思いますがよろしくお願いします.
pictureboxを用いて画像を表示しようとしたところ,実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
System.ArgumentException: '使用されたパラメーターが有効ではありません。
該当のソースコード
c#
1pictureBox2.Image = bmp; 2のところです。 3 4public partial class Form1 : Form 5 { 6 Bitmap bmp = Properties.Resources.ホットドッグ1; 7 int[] areA; 8 int[] areB; 9 int[] areC; 10 int[,] ARE = new int[3, 3] { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }; 11 12 int omu = 0; 13 int kare = 0; 14 int hanba = 0; 15 16 public Form1() 17 { 18 InitializeComponent(); 19 } 20 21 private void checkBox1_CheckedChanged(object sender, EventArgs e) 22 { 23 if (checkBox1.Checked == true) 24 { 25 areA = new int[3] { 1, 1, 0 }; 26 for(int x = 0; x < 3; x++) 27 { 28 ARE[x, 0] = areA[x]; 29 } 30 } 31 } 32 33 private void checkBox2_CheckedChanged(object sender, EventArgs e) 34 { 35 if (checkBox1.Checked == true) 36 { 37 areB = new int[3] { 0, 1, 0 }; 38 for (int x = 0; x < 3; x++) 39 { 40 ARE[x, 1] = areB[x]; 41 } 42 } 43 } 44 45 private void checkBox3_CheckedChanged(object sender, EventArgs e) 46 { 47 if (checkBox1.Checked == true) 48 { 49 areC = new int[3] { 0, 1, 1 }; 50 for (int x = 0; x < 3; x++) 51 { 52 ARE[x, 2] = areC[x]; 53 } 54 } 55 } 56 57 private void button1_Click(object sender, EventArgs e) 58 { 59 for(int y = 0; y < 3; y++) 60 { 61 if (ARE[0, y] == 1) 62 { 63 omu++; 64 } 65 if (ARE[1, y] == 1) 66 { 67 kare++; 68 } 69 if (ARE[2, y] == 1) 70 { 71 hanba++; 72 } 73 } 74 75 if (omu >= 1) 76 { 77 if (pictureBox1.Image != null) 78 { 79 pictureBox1.Image.Dispose(); 80 pictureBox1.Image = null; 81 } 82 } 83 if (checkBox1.Checked != true) 84 { 85 pictureBox1.Image = bmp; 86 } 87 88 if (kare >= 1) 89 { 90 if (pictureBox2.Image != null) 91 { 92 pictureBox2.Image.Dispose(); 93 pictureBox2.Image = null; 94 } 95 } 96 if (checkBox2.Checked != true) 97 { 98 pictureBox2.Image = bmp; 99 } 100 101 if (hanba >= 1) 102 { 103 if (pictureBox3.Image != null) 104 { 105 pictureBox3.Image.Dispose(); 106 pictureBox3.Image = null; 107 } 108 } 109 if (checkBox3.Checked != true) 110 { 111 pictureBox3.Image = bmp; 112 } 113 114 115 } 116 } 117} 118
試したこと
試し方が分かりません
やりたい事
例えばcheckboxをアレルギーの一覧だとして、そのアレルギーが含まれている商品(画像)を表示しなくしようとしています
配列の要素を1,0にして,1のあるものを表示しない