所以,我以编程方式添加一个标签,我需要改变顶点的边缘值8.我不能这么明显的方式,那么我的想法有什么问题?
Dim LabelAdapter As New Label LabelAdapter.text = "Adapter" LabelAdapter.Margin.Top = 8
这给我的错误“表达是一个值,因此不能是作业的目标”.
Label.Margin返回一个
Padding
对象.
由于Padding是一个结构,它将实际返回一个副本.您正在更改该副本的最高价值,而不是实际控制权的余额.既然没有明显的效果,VB正确地阻止它.
您需要分配一个全新的保证金.事实上,保证金的财产(或者说是Padding类)可以说是破产的,因为它不允许一个简单的方法来改变个人的价值观.
不幸的是,我们只需要忍受.所以要改变Top值,我们需要写:
Dim old As Padding = LabelAdapter.Margin LabelAdapter.Margin = New Padding(old.Left,8,old.Right,old.Bottom)
奇怪啊?