我获得了一些遗留的.net代码并修改了应用程序,因此它可以是多语言。
我已将Form的Localizable专有权设置为True并创建了一种语言,并针对每种语言对设计师进行了必要的修改。
我可以轻松地将所有控件的文本更新为正确的语言,但我无法弄清楚如何使用所有的tablelayout重绘主窗口。
基本上,对于每种语言,在相关的.resx中,在“其他”,我有我希望将其重新绘制/刷新为的大小:
$this.ClientSize System.Drawing.Size 815, 700
cmdCloseForm.Location System.Drawing.Point 781, 6
cmdMinimize.Location System.Drawing.Point 757, 6
pictureBoxBanner.Size System.Drawing.Size 807, 90
tableLayoutPanel1.Size System.Drawing.Size 204, 530
tableLayoutPanel2.Size System.Drawing.Size 807, 90
tableLayoutPanel4.Location System.Drawing.Point 212, 125
tableLayoutPanelAbout.Location System.Drawing.Point 212, 125
[...]
cmdCloseForm.Location System.Drawing.Point 781, 6
cmdMinimize.Location System.Drawing.Point 757, 6
pictureBoxBanner.Size System.Drawing.Size 807, 90
tableLayoutPanel1.Size System.Drawing.Size 204, 530
tableLayoutPanel2.Size System.Drawing.Size 807, 90
tableLayoutPanel4.Location System.Drawing.Point 212, 125
tableLayoutPanelAbout.Location System.Drawing.Point 212, 125
[...]
我如何调整所有这些,因为必须有一种方法可以自动执行它(设计师能够调整所有内容,如果语言被更改,例如..),因为它们存储在resx ..我试过刷新主表格,冷冻它并刷新它......无济于事。如何让程序知道如果语言被更改,自动将语言.resx中的所有控件调整大小/移动到那里指定的大小?
答案 0 :(得分:0)
对旧版应用进行改造可能很困难,但Microsoft建议在Walkthrough: Creating a Layout That Adjusts Proportion for Localization
中使用TableLayout
,AutoSize
和Anchor