HI,请教一个问题,Winform程序,我用资源文件做多语言,现在我遇到一个问题,当子窗口已经打开时,这时切换语言,子窗口的语言不变,改变语言后,再打开子窗口就是正常的,请问这怎么解决?谢谢

解决方案 »

  1.   

    1.在子窗体定义一个读取文件的过程(翻译)
    2.保存子窗体的实例引用, 在切换语言的时候 同时调用各子窗体的翻译过程,
    我是这样做的, 因为只有两个窗体,呵呵.NET有全局窗体的引用列表, 你可以强制转换一个, 这样就不用自己搞一个窗体实例列表...应该还有更方便的方法:)
      

  2.   

    使用资源文件的话,就是这个问题。因为所有的文字都是窗体初始化那会在InitializeComponents里面做的,要换只能重新建立一个实例。使用其它方式或许可以做到。为了可靠起见,我的程序一般都是提示用户重新启动程序之后才能切换语言。虽然即时切换很cool,但是太难做了,实际上用处也不是那么大。