• WPF与输入法冲突研究之一:百度输入法会导致WPF程序的崩溃!


    哎,在学习和使用了WPF一段时间之后,有点感觉WPF是个不太成熟的框架,不知道是我学的太肤浅,还是WPF得BUG太多!

     

    >>>>>>>模拟场景<<<<<<<<<

    客户:能用WPF给我编写个小程序吗?

    程序员:哦,什么样的小程序?

    客户:一旦我输入什么东西,你就给我弹出一个警告框。

    程序员:这么简单?!还有别的要求吗?

    客户支持各种输入法,不能崩溃!

    程序员:哦,收您500可以吗?

    客户:嗯,不贵~程序员:(嘿嘿,人傻钱多)

     

    >>>>>>>程序员开始努力的写代码<<<<<<<<<

    程序员心说,这么简单的程序,就不用XAML了,一个cs文件就搞定,看我的!

     

    using System;
    using System.Windows;
    using System.Windows.Controls;
    
    namespace BaiduCrashesWPF
    {
        /// <summary>
        /// Interaction logic for App.xaml
        /// </summary>
        public class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
                TextBox txtBox = new TextBox();
                txtBox.Width = 400;
                txtBox.TextChanged += txtBox_TextChanged;
    
                Window mainWin = new Window();
                mainWin.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                mainWin.Content = txtBox;
                mainWin.SizeToContent = SizeToContent.WidthAndHeight;
    
                Application app = new Application();
                app.ShutdownMode = ShutdownMode.OnMainWindowClose;
                app.Run(mainWin);
            }
    
            static void txtBox_TextChanged(object sender, TextChangedEventArgs e)
            {
                MessageBox.Show("用中文输入法了吗?假如你用了,那么这个程序马上就要崩溃了!");
            }
        }
    }
    



    好了,运行下试试。。。输入中文!打“中国”两个字(一定要2个字哦)!哇,对话框弹出来了!哇,程序崩溃了!!!TNND!经测试,百度输入法,谷歌v2输入法、QQ、搜狗输入法都会导致程序的崩溃。微软拼音输入法不会,谷歌v3不会。

     

    具体原因,见以后的博文~~~

     

    客户支持各种输入法,不能崩溃!

  • 相关阅读:
    更新user的方法
    django里的http协议
    django的第一个问题
    一台机器上配置多个ip地址;访问宿主机上的容器
    virtio 之后的数据直连
    virtio是啥子
    perf的采样模式和统计模式
    perf的统计模式: 突破口: x86_perf_event_update
    arp_filter的验证,使用net namespace
    阿里云Windows 2008一键安装包配置php web环境图文安装教程(IIS+Php+Mysql)
  • 原文地址:https://www.cnblogs.com/puncha/p/3876978.html
Copyright © 2020-2023  润新知