黑马程序员技术交流社区

标题: 为什么我的PictureBox.SizeMode.动态改变不了大小? [打印本页]

作者: HM刘磊    时间: 2013-4-18 23:25
标题: 为什么我的PictureBox.SizeMode.动态改变不了大小?
本帖最后由 HM刘磊 于 2013-4-18 23:29 编辑
  1.         private void 邮件地址验证_Load(object sender, EventArgs e)
  2.         {
  3.             comboBox1.Items.Insert(0,PictureBoxSizeMode.AutoSize);
  4.             comboBox1.Items.Insert(1,PictureBoxSizeMode.CenterImage);
  5.             comboBox1.Items.Insert(2,PictureBoxSizeMode.Normal);
  6.             comboBox1.Items.Insert(3,PictureBoxSizeMode.StretchImage);
  7.             comboBox1.Items.Insert(4,PictureBoxSizeMode.Zoom);
  8.            
  9.         }

  10.         private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  11.         {
  12.             switch (comboBox1.SelectedIndex)
  13.             {
  14.                 case 0:
  15.                     PbBox.SizeMode = PictureBoxSizeMode.AutoSize;
  16.                     MessageBox.Show(comboBox1.SelectedIndex.ToString());
  17.                     return;
  18.                 case 1:
  19.                     PbBox.SizeMode = PictureBoxSizeMode.CenterImage;
  20.                     break;
  21.                 case 2:
  22.                     PbBox.SizeMode = PictureBoxSizeMode.Normal;
  23.                     break;
  24.                 case 3:
  25.                     PbBox.SizeMode = PictureBoxSizeMode.StretchImage;
  26.                     break;//在此设断点显示SizeMode属性已经获取到值。
  27.                 case 4:
  28.                     PbBox.SizeMode = PictureBoxSizeMode.Zoom;
  29.                     break;
  30.             }

  31.               
  32.             
  33.         }
复制代码
上面是主要代码,通过Combobox的SelectedIndexChanged事件来动态更改picturebox的SizeMode属性,但是我设断点显示属性以获取值。但是Picturebox还是原来的样子,没变化,求解。
作者: 许庭洲    时间: 2013-4-19 06:20
1。不设置这两个事件试试看;
2。private void pictureBox1_Click(object sender, EventArgs e)
     {   return;  }
3。private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
     {   return;  }
作者: HM刘磊    时间: 2013-4-19 15:27
许庭洲 发表于 2013-4-19 06:20
1。不设置这两个事件试试看;
2。private void pictureBox1_Click(object sender, EventArgs e)
     {   r ...

我看了一下,并没有设置这两个事件。郁闷了
作者: HM刘磊    时间: 2013-4-22 00:56
HM刘磊 发表于 2013-4-19 15:27
我看了一下,并没有设置这两个事件。郁闷了

找到问题了,原来是属性用错了,
pictureBox1.backgroundImage这个是不支持PictureBoxSizeMode枚举值的。
这也是为什么我给PictureBox1.SizeMode赋值没效果呢,
改过之后应该是:
  1. Bitmap bt=new bitMap(string path);
  2. PictureBox1.Image=bt;
  3. PictureBox1.SizeMode=PictureBoxSizeMode.值;
复制代码
呵呵,大意呀。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2