Noahallen 发表于 2023-4-12 11:56

c#中报错的提示语言怎么切换?

在使用这个软件的时候发现通过一个按钮切换使用语言后,报错时的提示也同时变换了语言,想知道这是怎么实现的,网上都是教的怎么去预定义两个存储中英文的字符串数组来切换软件界面的语言,而报错这种自带的编译时就已经确定好的语言设置是无法修改的,除非它使用的是重写。
效果如下

7R903 发表于 2023-4-12 14:10

不懂,一般不把系统的异常信息直接给到用户,都是已经处理过的语句

flyingdancex 发表于 2023-4-12 14:51

是不是dotnet没装中文包的原因

hrpzcf 发表于 2023-4-12 15:18

类似这样呗


以 C# 为例
项目 —》添加 —》新建项 —》资源文件
Lang.resx 是默认语言文件
Lang.zh-CN.resx 是中文语言文件
两个文件的“名称”列要完全相同,“值”列当然是一个文件全英文一个文件全中文了

VS 会自动生成一个叫 Lang 的类,且该类有与“名称”列所有名称同名的属性,比如访问 Lang.ChatboxReplyTo 属性,得到的默认是 Lang.resx 内 ChatboxReplyTo名称对应的内容。如果要切换语言,可以设置属性 Lang.Culture = new CultureInfo("zh-CN"),那么访问 Lang.ChatboxReplyTo 属性得到的就是 Lang.zh-CN.resx 里 ChatboxReplyTo 名称对应的内容

Noahallen 发表于 2023-4-12 16:43

hrpzcf 发表于 2023-4-12 15:18
类似这样呗




这个方法是只能把能获取遇到的字段或名称等对象的文本进行修改切换,现在的问题是如同二楼同学说的那样,获取不到这个系统自带的异常对话框的情况,如果要重写 那可以直接trycatch, 然后用一个窗体可以自己做成我附件图片中的样式,但那样和我遇到的这个软件里的情况是不一样的,他这个报错是没有trycatch的 是系统的异常报错, 我想知道怎么去修改这个异常报错的文本语言。谢谢回复:lol
页: [1]
查看完整版本: c#中报错的提示语言怎么切换?