三个窗口:form1、form2、form3
我已经写好了部分代码,功能是:当form2显示的时候(最大化),form3最小化到任务栏;反之,当form3显示的时候(最大化),form2最小化到任务栏我的要求是,当form2、form3最小化时,需要保存form1当中的100个label的信息(Form2_SizeChanged事件)。而当form2、form3最大化、也就是显示的时候,要重写form1当中的100个label的信息我想问的是:
窗口最小化时,保存的100个label的信息是否是最大化那个窗口重写后的信息。到底最小化、最大化(获得焦点),哪个先执行
。甚至是,当保存信息还没完成时,就开始重写了.......是不是很乱啊!!!如何保证最小化时保存的信息,不是最大化那个窗口重写的信息?

解决方案 »

  1.   

    你的思路太乱,不应当用最大化最小化时机去做这种事情,信息保存的时机,应该是界面每次修改就马上保存,这样重写就好办了,在Activated事件中更新界面就行,
      

  2.   

    比如,有20个textbox,它们都设置textBox1_TextChanged事件,即内容发生改变,即保存信息
    但,这样会造成一个问题,先前保存的信息重写的时候,textBox1的内容也发生了改变,这样,就会边重写,边发生改变,进而边重写边保存,保存的信息就会乱七八糟的请教更好的办法
      

  3.   


    如果光是这个问题很容易解决,你在Form里加一个标志变量,在textBox1_TextChanged内部判断这个标志变量为true则不保存信息,这个标志初始化为false,这样只需要在重写开始时设置为true,重写完成后设置为false,