Ken*_*nes 12 vb.net controls margin winforms
所以,我正在以编程方式添加标签,我需要将上边距稍微改为值8.我不能以明显的方式做到这一点,所以我的想法出了什么问题?
Dim LabelAdapter As New Label
LabelAdapter.text = "Adapter"
LabelAdapter.Margin.Top = 8
Run Code Online (Sandbox Code Playgroud)
这给了我错误"表达式是一个值,因此不能成为赋值的目标".
Kon*_*lph 19
Label.Margin
返回一个Padding
对象.
既然Padding
是一个结构,它实际上会返回一个副本.您正在更改该Top
副本的值,而不是实际控件的边距.由于这没有明显的效果,VB正确地阻止了它.
您需要分配一个全新的保证金.实际上,Margin
属性(或者更确切地说,Padding
类)可以说是被破坏了,因为它不允许一种简单的方法来改变个体价值.
不幸的是,我们只需忍受它.所以要改变Top
价值,我们需要写:
Dim old As Padding = LabelAdapter.Margin
LabelAdapter.Margin = New Padding(old.Left, 8, old.Right, old.Bottom)
Run Code Online (Sandbox Code Playgroud)
很奇怪,是吗?
归档时间: |
|
查看次数: |
22108 次 |
最近记录: |