none
请教:关于一个在TextBox中输入其他语言的Accent Mark问题 RRS feed

  • 问题

  • 我遇到一个问题:

    我有一个WPF的TextBox,我切换到德文输入法,我想输入德文的Accent Mark,比如“^”符号。
    如果正常的话(比如我在Notepad中输入),我先敲“^”符号,然后敲空格,这时TextBox中就显示“^”符号。

    但是实际上,当我敲“^”符号,然后敲空格,这时TextBox中显示空格。

    BTW:
    1. 我写一个Windows Form的TextBox的测试例子,上述过程是正常的,显示“^”符号。
    2. 我在Windows7上测试,上述过程也是正常的,显示“^”符号。

    欢迎各位提供意见或解决方案,我在线等,谢谢!
    2010年2月25日 6:38

全部回复

  • 补充一下:

    这个问题是出现在Vista上的。我的环境是:
    OS:Vista SP1
    IDE:Visual studio 2008 SP1   .Net framework 3.5 sp1

    正常的Case:
    1。比如在Windows的Notepad中,切换为德文输入法,敲“~”(对应德文键盘上的“^”),然后敲空格,则在Notepad中显示的是 “^”。
    2。创建一个默认的Windows Forms Application, 加入一个TextBox控件,切换为德文输入法,敲“~”(对应德文键盘上的“^”),然后敲空格,则在Notepad中显示的是“^”。

    不正常的Case:
    创建一个默认的WPF Application,加入一个TextBox控件,切换为德文输入法,敲“~”(对应德文键盘上的“^”),然后敲空格,在控件中显示空格。

    从上述现象看,感觉好像是WPF的BUG,Windows7的WPF库版本要高过我机器上的版本,估计在新版本上修改了,但我不知道如何升级我的WPF库的版本.
    2010年2月26日 2:33
  • 实在不行就用小键盘输入ASCII码吧,反正中文操作系统下输入法语的时候都是这么干的。。。嘿嘿

    有的时候也取决于你的输入法。

    开发这种多语言环境软件的时候,因该同时安装多台PC或MV的其他国家平台,以便进行真正的外语环境测试。
    否则最后用户用起来也会有问题的。 开发一定至少要用纯英文操作系统和纯英文VS
    中文的没戏!

    另外问一下,你们开发什么软件的?
    2010年2月26日 8:18
  • 谢谢Charles Shao的回复!

    问题不在输入法(请细看帖子,用的是操作系统自带的德文输入法,同样的输入法在不同不同风格编辑控件下表现不一样)。

    问题也与多语言无关,只不过想在输入的德文或瑞典文等带重音符号语言时,编辑器的表现和系统的一样而已。

    我的环境是纯英文环境(包括操作系统和VS)
    2010年2月26日 9:09