winform 多语言切换时,已打开窗体布局问题

问题描述

本人在开发winform项目,需要设计多语言功能,使用了.NET自带的多语言language属性,设计时设想能在不用重启软件情况下即可生效,例如一个已打开的子窗体,在执行主窗体多语言切换时,可以实现子窗体的文本替换功能,但是布局却没有却出现了状况,也使用了遍历控件等方式让其加载自己的资源文件内容,但是控件的布局却出了状况,感觉没有办法对已打开的窗体实现多语言,难道一定要重启软件来实现吗?以下是遍历控件来加载自己的资源,但布局却没有效果foreach(Controlctllinctl.Controls){res.ApplyResources(ctll,ctll.Name);foreach(Controlctlllinctll.Controls){res.ApplyResources(ctlll,ctlll.Name);foreach(Controlctllllinctlll.Controls){res.ApplyResources(ctllll,ctllll.Name);}}}切换前切换后,发现控件都没有按照原来的anchor左右保持间距,代码跟踪其属性值是对的,但是效果却失灵了求大家帮我分析下,有谁解决过类似的问题,多谢各位了

解决方案

解决方案二:
你的ApplyResources方法都做哪些事情?
解决方案三:
不好说什么问题
解决方案四:
难道winform多语言这么垃圾吗
解决方案五:
别沉底啊,求前辈们赐教
解决方案六:
多谢各位的关注了,看来没有遇到过此问题的朋友,多谢了
解决方案七:
同样遇到这个问题有没有人解决了
解决方案八:
展开cs文件,看Desinger.cs和resx文件的内容。本质上来说,UI怎么扩展,还是依赖的InitializeComponent(),检查它的问题就能找到原因
解决方案九:
之前做的比tabControl+userControl+datagridview都可以,完全没有问题有些控件比较特殊,需要单独处理如果某个属性值在目标语言.resx中没有指定,则会自动使用默认语言中的值,你自己看一下

时间: 2024-09-20 21:15:59

winform 多语言切换时,已打开窗体布局问题的相关文章

c# 怎在主窗体中自定一个属性,用来保存已打开的子窗体实例

问题描述 我的目的就是想实现子窗体和子窗体互访,网上有一个方法mdiParent是针对form的,但是我用的是DockPane的DockContent,所以没办法用mdiParent.不知可不可以在主窗体formMain中新建一个属性formCollections,这个属性用来保存已打开的子窗体的实例,每打开一个子窗体,就把这个子窗体的实例作为一个对象加入到主窗体的formCollections属性中,当某一子窗体childForm1想访问另一子窗体childForm2时,就可以运用formMa

将窗体最小化到状态栏,每次点击打开窗的菜单窗体都会重新打开,我想实现当第二次打开窗体时只要激活第一次打开的窗体

问题描述 我用一下代码将窗体最小化到状态栏,但是我现在每点一次打开窗口的菜单,程序就又重新打开一次原先的窗体,我想实现当第二次打开窗体时只要激活第一次打开的窗体,应该如何实现?//先建一个FormBase的基类,子窗体都从这个基类继承publicclassFormBase:System.Windows.Forms.Form{publicdelegatevoidFormMinSize(objectsender,EventArgse);publiceventFormMinSizeOnFormMinS

winform中窗体最大化时 如何使窗体中内容也相应的全屏

问题描述 请教大家,winform中窗体最大化时如何使窗体中内容也相应的全屏? 解决方案 解决方案二:设置控件的Anchor属性或Dock属性解决方案三:这个很麻烦,不好处理,我也曾经尝试着根据窗体大小的比例,来改变组件的位置,失败了,老师也没有办法,解决方案四:引用1楼ojlovecd的回复: 设置控件的Anchor属性或Dock属性 正解解决方案五:引用3楼freeboy827的回复: 引用1楼ojlovecd的回复:设置控件的Anchor属性或Dock属性正解 但是界面不一定会好看了解决方

winform 程序自动切换tabControl时页面就不能动了

问题描述 winform程序自动切换tabControl时页面就不能动了 解决方案 解决方案二:检查你的代码.回复内容太短了!解决方案三:用调试,看报什么错回复内容太短了!

Android App仿微信界面切换时Tab图标变色效果的制作方法_C 语言

概述 1.概述学习Android少不了模仿各种app的界面,自从微信6.0问世以后,就觉得微信切换时那个变色的Tab图标屌屌的,今天我就带大家自定义控件,带你变色变得飞起~~ 好了,下面先看下效果图: 清晰度不太好,大家凑合看~~有木有觉得这个颜色弱爆了了的,,,下面我动动手指给你换个颜色: 有没有这个颜色比较妖一点~~~好了~下面开始介绍原理.2.原理介绍通过上面的效果图,大家可能也猜到了,我们的图标并非是两张图片,而是一张图,并且目标颜色是可定制的,谁让现在动不动就谈个性化呢. 那么我们如何

启动IE时浏览器打开、闪烁然后迅速关闭

故障现象: 启动 Internet Explorer 7.Internet Explorer 8 或 Internet Explorer 9 时浏览器打开.闪烁然后迅速关闭. 解决方案: 解决此问题,请执行方法 1 中列出的步骤.如果方法 1 中的步骤未能解决问题,请采用方法 2. 方法 一:将 Internet Explorer 重置为默认设置 将 Internet Explorer 重置为默认设置后,所有安装后进行的更改均将删除.然而,此操作不会删除您的收藏或订阅源.若要将 Internet

因为不存在已打开的单元"

问题描述 WPF 无法关闭撤消单元,因为不存在已打开的单元 XAML代码: <DataGridTextColumn Width="100" Binding="{Binding SalePrice, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat={0:0.00}}" Header="销售价"> <DataGridTextColumn.HeaderTem

Delphi中利用INI文件实现界面无闪烁多语言切换

越来越多的程序使用了多国语言切换,虽然DELPHI自带多语言包的添加和配置,但是那种方法在切换语言时界面会出现闪烁,而且实现起来很麻烦,这里我介绍给大家的是利用INI文件来读取界面的语种文字,用这种方法,不但简单易行,而且在切换的时候不会出现界面的闪烁. 我们从一个例子出发,看看怎么实现语言的切换.首先建立一个新工程.放置如下组件: MainMenu1: TMainMenu; File1: TMenuItem; Exit1: TMenuItem; Label1: TLabel; Button1:

探讨Java与Ruby语言迁移时的安全性

在这篇文章中,我们将要探讨Java与Ruby语言迁移时风险预测方面的问题. 通常来说,"使用Ruby具有风险"是一种普遍的看法,这存在一定的原因.因为使用新的语言天生是有风险的.随着Ruby on Rails逐步进入到主流的开发领域中,这样的风险将会随时间逐渐降低,因为有逐步增长的开发者群.组件(或称作gems和plug-ins)相关的书籍.以及业务合作伙伴与你沟通交流.但同时你也可以听到主流的观点指出"使用Java是安全的".对于这种的观点,我持有强烈的反对意见.