用vs2010 c# winform 开发的软件,想改造成中-英文两用环境,采用的是资源文件本地化。比如对于一个窗口而言,资源文件:Form1.resx和Form.en-US.resx,前者为简体中文的资源文件,后者为美式英语的。我在改造过程中碰到如下问题待解:
假设原界面上有:Label1、textBox1; Label2、textBox2,中文环境时的界面排列分别为:通信速率:138
    网速:10这样排列看起来挺美观的,英文界面应该为:Communication speed: 138
Network speed: 10但由于中英文的字长不等,结果一旦切换就造成界面排列乱七八糟的,英文的"通信速率"因太长都覆盖到后面的138.46上了,最好能排列成这样:Communication speed: 138
      Network speed: 10此排版问题不知该如何协调解决,英文字体能否自动向左延伸从而实现右对齐而且不会覆盖到后面的textBox控件?

解决方案 »

  1.   

    窗体加载后,重新设置你后面textbox的location属性
    假如前面的label是lblname,后面的textbox是txtname
    txtname.Location = new System.Drawing.Point(200 + lblname.Width, 50);
      

  2.   

    谢谢楼上的。
    还有个问题,就是:
     if (MessageBox.Show(Resource1.frmMain_Msg3, Resource1.General_PromptInfo, MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
    {
        ......
    }类似上面这种问询对话框,怎样才能将框内的按钮上的汉字"确定"、"取消"能随中英文环境的切换而切换?
      

  3.   

    就是当英文环境时改为:"Confirm"、"Cancel"。