c# – 无法修改表达式,因为它不是变量
发布时间:2020-12-15 17:46:28 所属栏目:百科 来源:网络整理
导读:我试图在 Windows窗体上获取一个UserControl(其上有一个网格)来调整大小. 以下代码是我在表单中的内容.我得到的行为是,当我把它变大时,控件会被调整大小.但它并没有缩小.我做错了什么(或)我错过了什么? private void AdjustGrid(){ ZoomControl.Location =
我试图在
Windows窗体上获取一个UserControl(其上有一个网格)来调整大小.
以下代码是我在表单中的内容.我得到的行为是,当我把它变大时,控件会被调整大小.但它并没有缩小.我做错了什么(或)我错过了什么? private void AdjustGrid() { ZoomControl.Location = new Point(5,5); ZoomControl.Size = new Size(this.Width - 15,this.Height - 75); } void zoomform_Resize(object sender,EventArgs e) { AdjustGrid(); } 现在用户控件具有以下代码: //Resize the grid that the UserControl has on it private void NameValuePropertyBag_Resize(object sender,EventArgs e) { grdNameValueProperties.Location = new Point(4,4); grdNameValueProperties.Size = new Size(this.Width - 8,this.Height - 8); } 我试过了 grdNameValueProperties.Size.Width = this.Width - 8; grdNameValueProperties.Size.Height = this.Height -8; 它给了我“无法修改表达式,因为它不是变量”错误…我错过了什么? 附加信息: 我正在使用SetParent()Windows调用将UserControl移动/缩放到另一个窗体(ZoomForm). Anchor似乎不适用于使用SetParent()移动的控件…更确切地说,它可能正在工作,但我重新绘制了问题. 我让Anchor / Dock对工作没有重新绘制问题[我删除了调整大小事件连线并调整了Dock to Fill] ZoomForm最初没有控件. Usercontrol动态添加到ParentForm. 目前,我可以使用上面的代码使缩放形式更大,但不能更小. 解决方法grdNameValueProperties.Size.Width = this.Width - 8; grdNameValueProperties.Size.Height = this.Height -8; 该代码给出错误,因为Size是值类型,而不是引用类型.阅读此http://www.yoda.arachsys.com/csharp/parameters.html可能有助于解释值类型和引用类型之间的区别. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |