Установка Padding - почему там написано, что padding.all не является переменной?

StackOverflow https://stackoverflow.com/questions/1802203

Вопрос

Я не понимаю, почему существует Control.padding.all, который является int и в соответствии с подсказкой там устанавливается и get, но я не могу его установить (Control.Padding.All = 5)? Буду благодарен за объяснения. Спасибо!

Это было полезно?

Решение

Вот простая реализация этого

public class ARAControl
{
    public ARAPadding Padding { get; set; }
}
public struct ARAPadding

{
    public int All { get; set; }
}

И если вы используете это, вы, вероятно, получите эту ошибку

        ARAControl control = new ARAControl();
        control.Padding.All = 10;

Это происходит потому, что структура является типом значения. Устанавливая это свойство, вы сначала вызываете метод Get. Свойство Get вернет копию Padding, так что это тип значения, а C # обнаружит ошибку и предотвратит компиляцию

Другие советы

Control.Margin = new Padding (5)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top