PDA winform开发。在一个窗体上有一个PictureBox 一个 Label
执行如下代码的时候异常,求高手解释。this.label1.Parent = this.pictureBox1;异常信息:
((System.Windows.Forms.Control)(this.label1)).Parent”引发了“System.ArgumentException”类型的异常 System.Windows.Forms.Control {System.ArgumentException}

解决方案 »

  1.   

    控件赋值类型不对照,不能如此操作了.pictureBox1不是System.Windows.Forms.Control,
    引发System.ArgumentException”类型的异常
      

  2.   


    刚去看了一下 PictureBox是Control的namespace System.Windows.Forms
    {
        // 摘要:
        //     表示用于显示图像的 Windows 图片框控件。
        public class PictureBox : Control
        {
            // 摘要:
            //     初始化 System.Windows.Forms.PictureBox 类的新实例。
            public PictureBox();        // 摘要:
            //     获取或设置由 System.Windows.Forms.PictureBox 显示的图像。
            //
            // 返回结果:
            //     要显示的 System.Drawing.Image。
            public Image Image { get; set; }
            //
            // 摘要:
            //     指示如何显示图像。
            //
            // 返回结果:
            //     System.Windows.Forms.PictureBoxSizeMode 值之一。默认为 System.Windows.Forms.PictureBoxSizeMode.Normal。
            //
            // 异常:
            //   System.ComponentModel.InvalidEnumArgumentException:
            //     分配的值不是 System.Windows.Forms.PictureBoxSizeMode 值之一。
            public PictureBoxSizeMode SizeMode { get; set; }        //
            // 参数:
            //   e:
            //     包含事件数据的 System.Windows.Forms.PaintEventArgs。
            protected override void OnPaint(PaintEventArgs e);
            protected override void OnPaintBackground(PaintEventArgs e);
            //
            // 摘要:
            //     引发 System.Windows.Forms.Control.Resize 事件。
            //
            // 参数:
            //   e:
            //     包含事件数据的 System.EventArgs。
            protected override void OnResize(EventArgs eventg);
        }
    }
      

  3.   

    未发现异常,应该是别的原因引起的,或者PDA不支持,或者pictureBox1没有初始化等等。
      

  4.   

    PDA 是 windows mobile 5.0的系统
      

  5.   


    this.label1.Parent 是  pictureBox1吗
      

  6.   

    this.label1.Parent = this.pictureBox1;能这样赋值吗
      

  7.   


    在windows xp或者 windows7上这句话没有问题的。只不过出来的效果是看不见这个 Label
    只不过在windows mobile下就有异常
      

  8.   

    看了一下 mobile系统下 PictureBox的定义如下:PictureBox : Control
    而xp下为:PictureBox : Control, ISupportInitialize
    多继承了一个接口,
        public interface ISupportInitialize
        {
            // 用信号通知对象初始化即将开始。
            void BeginInit();
            // 用信号通知对象初始化已完成。
            void EndInit();
        }应该是这个原因了。