成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#控制輸入法詳細剖析

開發 后端
這里介紹為了C#控制輸入法,.NET類庫在System.Windows.Forms.InputLanguage類中提供了支持。我計劃先花一點時間講述InputLanguage類的功能,隨后舉一個實例InputLanguageRichEdit。

本文向大家介紹C#控制輸入法,可能好多人還不知道C#控制輸入法,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

在Windows系統一般都安裝了至少三種輸入法,在輸入數據時常常會切換輸入法,雖然Windows系統提供了切換快捷健,但對輸入工作還是帶來了不少麻煩。如果在應用程序中為用戶提供智能輸入法自動切換,那么這樣的應用程序就顯得更加專業、更加具有競爭力。不知你可用過Access,在表數據輸入時Access自動切換輸入法,很酷吧,現在你也可以實現這一切。如果也想你的程式也酷一下的話,請繼續...

為了C#控制輸入法,.NET類庫在System.Windows.Forms.InputLanguage類中提供了支持。我計劃先花一點時間講述InputLanguage類的功能,隨后舉一個實例InputLanguageRichEdit。

1、InputLanguage類是一個密封類,它提供了許多方法和屬性實現輸入法管理功能,這其中有幾個屬性尤其重要,我將在下面逐一講解,如果你想全面了解類的全部方法和屬性,請瀏覽MSDN。

  1. public static InputLanguage CurrentInputLanguage {get; set;}  
  2. //獲得或設置當前線程的輸入法。  
  3.  
  4. public static InputLanguage DefaultInputLanguage {get;}  
  5. //獲得缺省輸入法。  
  6.  
  7. public static InputLanguageCollection InstalledInputLanguages{get;}  
  8. //獲得系統輸入法集??梢酝ㄟ^這個容器對象列舉系統當前安裝的輸入法列表。  
  9.  
  10. public string LayoutName {get;}  
  11. //獲得輸入法在系統托盤中的注冊名稱。  
  12.  
  13. ......  

2、我們已經研究了InputLanguage類提供的幾個重要屬性了,現在可以開始動手在應用開發中應用InputLanguage類。我想創建一個.NET Window Form的系統程序,用一個列表框列舉當前系統安裝的所有輸入法,通過改變列表框的選項自動改變當前線程的輸入法。同時還實現了根據桌面托盤中C#控制輸入法的變化來改變列表框的選項。

(1)、新建項目 --> 選擇"Visual C#項目" --> 輸入項目名:InputLanguageRichEdit。

(2)、在"工具箱"中拖一個RichTextBox控件,命名為:richTextBox1;一個ComboBox控件,命名為:comboBox1;一個Button控件,命名為:But_Exit。

(3)、用下面的代碼代替

  1. private void InitializeComponent()。  
  2. {  
  3. this.comboBox1 = new System.Windows.Forms.ComboBox();  
  4. this.richTextBox1 = new System.Windows.Forms.RichTextBox();  
  5. this.But_Eixt = new System.Windows.Forms.Button();  
  6. this.SuspendLayout();  
  7. //  
  8. // comboBox1  
  9. //  
  10. this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;  
  11. this.comboBox1.DropDownWidth = 160;  
  12. this.comboBox1.Location = new System.Drawing.Point(8, 232);  
  13. this.comboBox1.Name = "comboBox1";  
  14. this.comboBox1.Size = new System.Drawing.Size(168, 20);  
  15. this.comboBox1.TabIndex = 1;  
  16. this.comboBox1.SelectedIndexChanged += new   System.EventHandler 
    (this.comboBox1_SelectedIndexChanged);  
  17. //  
  18. // richTextBox1  
  19. //  
  20. this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Top;  
  21. this.richTextBox1.Name = "richTextBox1";  
  22. this.richTextBox1.Size = new System.Drawing.Size(292, 208);  
  23. this.richTextBox1.TabIndex = 0;  
  24. this.richTextBox1.Text = "";  
  25. //  
  26. // But_Eixt  
  27. //  
  28. this.But_Eixt.Location = new System.Drawing.Point(200, 232);  
  29. this.But_Eixt.Name = "But_Eixt";  
  30. this.But_Eixt.TabIndex = 2;  
  31. this.But_Eixt.Text = "Eixt";  
  32. //  
  33. // Form1  
  34. //  
  35. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);  
  36. this.ClientSize = new System.Drawing.Size(292, 273);  
  37. this.Controls.AddRange(new System.Windows.Forms.Control[] {  
  38. this.But_Eixt,this.comboBox1,this.richTextBox1});  
  39. this.Name = "Form1";  
  40. this.Text = "Form1";  
  41. this.Load += new System.EventHandler(this.Form1_Load);  
  42. this.InputLanguageChanged += new   
  43. System.Windows.Forms.InputLanguageChangedEventHandler (this.ChangeInput);  
  44. this.ResumeLayout(false);  

(4)、插入下面代碼:

  1. private void Form1_Load(object sender, System.EventArgs e)  
  2. {  
  3. InputLanguageCollection ilc = InputLanguage.InstalledInputLanguages;  
  4. foreach ( InputLanguage il in ilc )  
  5. {  
  6. comboBox1.Items.Add( il.LayoutName );  
  7. }  
  8. comboBox1.SelectedIndex = InputLanguage.InstalledInputLanguages.IndexOf 
    ( InputLanguage.CurrentInputLanguage ) ;  
  9. }  
  10. private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)  
  11. {  
  12. InputLanguage il = InputLanguage.
    InstalledInputLanguages[ comboBox1.SelectedIndex ];  
  13. InputLanguage.CurrentInputLanguage = il;  
  14. }  
  15. private void ChangeInput(object sender, 
    System.Windows.Forms.InputLanguageChangedEventArgs e)  
  16. {  
  17. InputLanguage il = e.InputLanguage ;  
  18. int i = InputLanguage.InstalledInputLanguages.IndexOf( il );  
  19. if( i >= 0 && i < InputLanguage.InstalledInputLanguages.Count )  
  20. {  
  21. comboBox1.SelectedIndex = i ;  
  22. }  
  23. }  
  24. private void But_Eixt_Click(object sender, System.EventArgs e)  
  25. {  
  26. Application.Exit();  
  27. }  

【編輯推薦】

  1. C#窗體里調用淺談
  2. C#調用ListEmployee命令
  3. C# CreateEmployeeDefinition()函數
  4. C#實現斷點續傳詳細剖析
  5. C# Employee對象淺談
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-27 17:14:36

C# Socket

2009-09-11 11:17:04

C#引用類型

2009-08-27 17:51:34

C#匿名方法

2009-09-03 16:58:49

C#內存管理

2009-09-18 10:00:17

C#數組操作

2009-08-31 17:26:32

C#異常處理

2021-08-04 16:36:00

Windows 10Windows微軟

2021-11-11 23:00:50

Windows 10Windows微軟

2009-09-04 11:06:40

C#訪問修飾符

2009-09-07 13:42:56

C# Pop3類

2009-08-28 15:38:49

C#實現斷點續傳

2011-09-15 09:34:48

ubuntu輸入法

2021-04-20 08:30:23

微信微信輸入法張小龍

2021-10-15 22:17:08

Windows 10Windows微軟

2010-01-08 16:50:51

Ubuntu SCIM

2010-06-08 18:50:30

OpenSUSE 輸入

2012-02-15 11:14:21

搜狗輸入法

2010-01-11 10:09:14

Ubuntulinux輸入法設置

2021-11-06 23:04:10

Windows 10Windows微軟

2009-09-07 14:29:52

C# ServiceC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久9999久久 | 久久久久久亚洲精品 | 国产精品久久777777 | 国产国拍亚洲精品av | 黄色片免费 | 久久久精品国产 | 日韩中文字幕一区二区 | 欧美成人激情视频 | 日本精品视频一区二区三区四区 | 国产极品粉嫩美女呻吟在线看人 | 国产片淫级awww| 欧美日韩精选 | 亚洲电影免费 | 国产精品1区2区 | 欧美a级成人淫片免费看 | 国产真实乱对白精彩久久小说 | 久久久精品一区 | 成年人精品视频在线观看 | 一区二区三区亚洲 | 四虎影院新网址 | 中文字幕免费在线 | 国产精品久久久久久久久久免费看 | 成人一区二区三区 | 久久精品91 | 免费成人高清在线视频 | 91xx在线观看 | 国产精品成人在线播放 | 天天色天天射天天干 | 欧美一区二区三区四区在线 | 日韩在线高清 | 国产精品美女久久久久aⅴ国产馆 | av一级久久| 日本在线视频一区二区 | 日本一二三区高清 | www.日本三级 | 欧美激情免费在线 | 最新中文字幕在线 | 日韩在线播放av | 久久亚洲一区 | 国产精品美女久久久久久免费 | 在线国产一区二区 |