从可视化设计器调用时未调用c#属性setter

时间:2014-05-23 13:31:50

标签: c# properties setter

我在visual studio 2012中遇到了一些奇怪的行为

模拟,创建从DataSet继承的自定义控件 添加如下属性:

    private string _test = "";
    public string Test
    {
        get { return _test; }
        set
        {
            _test = value;
            MessageBox.Show(_test);
        }
    }

现在将组件放在winform上,并将值设置为属性Test to例如" 123" 你会看到mesagebox出现了" 123" 现在再次为此属性设置相同的值,您将看不到消息框 只有在属性中设置了不同的值后,才会再次调用setter。

如果您在例如控制台应用程序中创建一个类(并使用writeline而不是messagebox offcourse),您将看到分配相同的值会再次调用setter,但是在winform中使用自定义控件时会分配相同的值该属性的值不会再次调用setter。

为什么会这样,我该如何解决这个问题?

0 个答案:

没有答案