Card img = new Card();
Deck im = new Deck();
private void button1_Click(object sender, EventArgs e)
{
Bitmap bc;// = new Bitmap(100, 142);
Brush b = new SolidBrush(Color.Green);
Card[] card = im.Shuffling();
bc = img.DrawCard(card[1]);
Run Code Online (Sandbox Code Playgroud)
虽然Color1属性是==到b,编译器仍会跳到else语句,即使我使用not(!=)函数,所有组件仍然都在if语句中.哪里可能出错?
if (card[1].Color1== b)
{
pic = new PictureBox();
piclist = new List<PictureBox>();
numberOfCards++;
piclist.Add(pic);
this.Controls.Add(pic);
pic.Size = pictureBox1.Size;
pic.Left = pictureBox1.Left + ((pictureBox1.Width) * numberOfCards);
pic.Top = pictureBox1.Top;
pic.Visible = true;
pic.SizeMode = PictureBoxSizeMode.StretchImage;
pic.BringToFront();
pic.Image = bc;
}
else
MessageBox.Show("unequall");
}
Run Code Online (Sandbox Code Playgroud)
(因为我没有评论的代表)要捎带AaronLS的回复,这对我来说似乎是正确的答案:SolidBrush对象将有一个属性SolidBrush.Color,你在构造函数调用中设置
Brush b = new SolidBrush(Color.Green);
Run Code Online (Sandbox Code Playgroud)
因此,当您检查画笔颜色和卡片颜色的相等性时,您需要返回画笔的颜色以进行比较:
if (card[1].Color1== b.Color)
Run Code Online (Sandbox Code Playgroud)
虽然如果card [x] .Color1属于差异参考类型,情况可能并非如此.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |