当前位置:编程学习 > C#/ASP.NET >>

窗体的自定义属性在什么时候执行呀?


    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();//2
        }

        StringBuilder sb = new StringBuilder();//1
        //这步在什么时候执行的呀,
        //我多从Form2 FF=New Form2()开始调试也没有经过这个属性?
        public TempSaveData MyProperty {//TempSaveData 是我定义的一个类
            get
            {
                TempSaveData tt = new TempSaveData();
                tt.A = textBox1.Text;//这里在那步执行呢?
                return tt;
            }
            set
            {
                textBox1.Text = value.A;//这里又在那步执行呢??
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox2.Text == "2") sb.Append("test 2");
            else sb.Append("test 2-0");
        }
--------------------编程问答-------------------- 调用 MyProperty 时,不是吗? --------------------编程问答--------------------
        public TempSaveData MyProperty 
         里的get set 是在访问属性 MyProperty 才会执行 --------------------编程问答-------------------- 赋值给MyProperty 执行set
调用 MyProperty 执行get
--------------------编程问答-------------------- 我这样..从New Form2()开始也没有调试执行呢??

            TempSaveData tt = new TempSaveData();//这是设断点开始...也没有跳到Get与Set里
            tt.A = textBox1.Text.Trim();
            Form2 f = new Form2();
            f.tempData = tt;
            f.ShowDialog();
--------------------编程问答--------------------
引用 4 楼 zjh222 的回复:
我这样..从New Form2()开始也没有调试执行呢??
C# code
            TempSaveData tt=new TempSaveData();//这是设断点开始...也没有跳到Get与Set里            tt.A= textBox1.Text.Trim();
            Form2 f=new Form2();
            f.tempData= tt;
            f.ShowDialog();


 TempSaveData tt=new TempSaveData();//这是设断点开始...也没有跳到Get与Set里            tt.A= textBox1.Text.Trim();
            Form2 f=new Form2();
            f.MyProperty = tt;  执行set里的代码
              tt =f.MyProperty;  执行get的代码
            f.ShowDialog();


--------------------编程问答-------------------- Form2 f=new Form2();
            f.MyProperty = tt;  执行set里的代码,,,,为什么调试到这里不能进入SET???
              tt =f.MyProperty;  执行get的代码,,,,,同上?
            f.ShowDialog();  --------------------编程问答-------------------- private TempSaveData _MyProperty ;
public TempSaveData MyProperty {
            get
            {
                _MyProperty = new TempSaveData();
                _MyProperty.A = textBox1.Text;
                return _MyProperty ;
            }
            set
            {
                textBox1.Text = value.A;
            }
        }
f.MyProperty = tt;  赋值给属性
tt =f.MyProperty;  获取属性值   --------------------编程问答--------------------
引用 7 楼 wuyq11 的回复:
private TempSaveData _MyProperty ;
 public TempSaveData MyProperty {
             get
             {
                 _MyProperty = new TempSaveData();
                 _MyProperty.A = textBox1.Text;
                 return _MyProperty ;
             }
             set
             {
                 textBox1.Text = value.A;
             }
         }
 f.MyProperty = tt;  赋值给属性 .....为什么调试到这里不能进入SET或GET中的代码??? 
 tt =f.MyProperty;  获取属性值...............为什么调试到这里不能进入SET或GET中的代码??? 


为什么调试到这里不能进入SET或GET中的代码??? 
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,