+1 说的对。因为你在xp 上的控件的宽度是根据分辨率来计算出来的。比如说你所说的大小本来是280*280,那这个尺寸在xp上可能是分辨率的n%,在win7上可能就是分辨率的m%,那就可以是373*350。除了宽度这些变化外。还有其他变化的,比如样子也会改变、颜色等。

解决方案 »

  1.   

    我在win xp(分辨率为1280*1024)台式机上建了一个项目,运行效果如下图。
    后原封不动不动地挪到win 7(分辨率为1366*768)笔记本电脑上运行,图片变大了。如下图。但是程序的代码并没有变。            // 
                // pictureBox1
                // 
                this.pictureBox1.BackColor = System.Drawing.Color.White;
                this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
                this.pictureBox1.Location = new System.Drawing.Point(12, 12);
                this.pictureBox1.Name = "pictureBox1";
                this.pictureBox1.Size = new System.Drawing.Size(280, 280);
                this.pictureBox1.TabIndex = 0;
                this.pictureBox1.TabStop = false;
                this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);
      

  2.   


    +1 说的对。因为你在xp 上的控件的宽度是根据分辨率来计算出来的。比如说你所说的大小本来是280*280,那这个尺寸在xp上可能是分辨率的n%,在win7上可能就是分辨率的m%,那就可以是373*350。除了宽度这些变化外。还有其他变化的,比如样子也会改变、颜色等。
    那怎么办啊!?我辛辛苦苦做出来的程序,不能因为换了一台电脑就变得面目全非了?
      

  3.   

    是Form变大了吧。你可以设置Form的大小啊。
    像素是多少就是多少,不会变的
      

  4.   

    Form的大小已经设置,应该是310*336,但在win 7上运行明显变大,变成了423*425。
    后来我又在win 7的笔记本电脑上从新建了一个完全一样的项目,编译运行如下图。然后我又把生成的exe文件拿到xp系统的宽屏台式机上运行,分辨率为1440*900,图片又变小了。如下图。我感觉不是分辨率的问题,因为在正屏与宽屏的电脑上运行(都是xp系统),都是一样的。
      

  5.   

    怎样才能使设计好的软件在XP系统下运行是这样的,如下图。在WIN7系统下运行是这样的,如下图,除标题栏和边框外没有区别。这是我想要的,求助大家。
      

  6.   

    关掉自动调整大小
    将窗体大小基于点(point),改成基于像素(pixel)
    try...
    //Form构造函数中
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
      

  7.   

    将AutoScaleMode属性设置为NONE能够实现我在9楼帖子的功能,但又有新问题,图片和文字大小不一样。
    在WIN7上运行如下图在XP上运行如下图