C#控件大小随窗口大小而改变的问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 19:47:39
this.WindowState = FormWindowState.Maximized;
this.FormBorderStyle = FormBorderStyle.None;
this.ControlBox = false;
this.Menu = null;
pictureBox1.Location = new System.Drawing.Point(0, 0);
pictureBox1.Size.Width = (1/8)*(this.Size.Width);
pictureBox1.Size.Height = (1/8)*(this.Size.Height);
错误提示:“无法修改System.Windows.Forms.Control.Size的返回值,因为它不是变量。”
这段代码应该如何写才算正确?
也就是说控件的宽度(注意不是与窗口的相对距离,而是大小)是窗口宽度的百分比。
问题解决了!感谢“gihelo”的热心帮助。谢谢!
pictureBox1.Location = new System.Drawing.Point();
pictureBox1.Size = new System.Drawing.Size ();
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

请参考http://msdn2.microsoft.com/zh-cn/library/system.windows.forms.control.size(VS.80).aspx
页中备注部分:

由于 Size 类是值类型(在 Visual Basic 中是 Structure,在 Visual C# 中是 struct),它按传值方式返回,意味着访问该属性将返回控件的大小的副本。因此,调整从该属性返回的 Size 的 Width 或 Height 属性将不影响控件的 Width 或 Height。若要调整控件的 Width 或 Height,必须设置控件的 Width 或 Height 属性,或用新的 Size 设置 Size 属性。

ps:玩vb,delphi的人会才案头放本api手册,玩vc的人除了api手册还会有类库大全(或许还会有代码大全),玩C#,java的会放设计模式,但是上面这些人无论如何只要是还在window下工作的都会给自己机子装上msdn,请学会查找msdn