天天看點

C#學習時做的小App,支援複制翻譯,采用Google引擎

學習總結

通過這個項目,學到了很多:

  1. VS2012的安裝及使用,耗費1小時
  2. VS2012如何引用第三方dll庫
  3. VS2012怎麼合并dll庫到exe程式中,耗費2小時
  4. C#的Http網絡請求,耗費1天
  5. 在VS2012中開發Window視窗程式
  6. C#的委托,接口,命名空間,回調,多線程,
  7. C#的資料存儲:資料庫存儲,ini鍵值對存儲
  8. C#的正規表達式
  9. C#的剪切闆操作
  10. C#實作開啟自啟
  11. C#的視窗置頂及不擷取焦點及最小化,工作列隐藏,和 通知欄顯示,耗費1天
  12. C#視窗的移動,平滑移動,貼邊隐藏,耗費1天
  13. C#的焦點問題,耗費1天
  14. C#的單例運作
  15. C#制作第三方庫

詳細講解

1.VS2012的安裝

我是直接安裝下圖中公衆号的講解安裝的,沒遇到一點問題,安裝環境:Win8.1。這個公衆号做得的卻不錯,值得推薦!

C#學習時做的小App,支援複制翻譯,采用Google引擎

2. VS2012引用第三方庫

廢話不多說,直接看下方gif最清楚:

C#學習時做的小App,支援複制翻譯,采用Google引擎

3.VS2012怎麼合并dll庫到exe程式中

參考:https://www.cnblogs.com/mq0036/p/7875843.html

若是顯示您的nuget不是最新版,最好更新到最新版,

更新教程:https://www.cnblogs.com/abeam/p/7158179.html

4.C#的Http網絡請求

我寫了一個Http工具類,當然也是在别人源碼基礎上寫的,修複了其中一些問題,因源碼太長,放在這裡不合适,可以在下方直接下載下傳工程即可,這裡隻貼一下測試例子:

public static void test()
        {
            //測試GET方式,例子:擷取google翻譯
            HttpHelper.getAsync("https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=" + "zh" + "&dt=t&q=" + "good", new HttpGetListener());
            //測試POST方式,例子:擷取天氣
            //設定參數
            var param = new
            {
                code = "js",
                day = 0,
                dfc = 1,
                charset = "utf-8"
            };
            var postData = JsonConvert.SerializeObject(param);
            HttpHelper.postAsync("http://php.weather.sina.com.cn/iframe/index/w_cl.php", postData, new HttpPostListener());
        }
        public class HttpGetListener : HttpHelper.OnHttpListener
        {
            public void onSuccess(string data)
            {
                Console.WriteLine("GET請求傳回資料:" + data);
                JArray jo = (JArray)JsonConvert.DeserializeObject(data);
                Console.WriteLine("GET請求解析資料:" + jo[0][0][0].ToString());
            }
            public void onError(string data)
            {
                Console.WriteLine("get error:" + data);
            }
        }
        public class HttpPostListener : HttpHelper.OnHttpListener
        {
            public void onSuccess(string data)
            {
                Console.WriteLine("POST請求傳回資料:" + data);
            }
            public void onError(string data)
            {
                Console.WriteLine("post error:" + data);
            }
        }
           

5.C#的ini鍵值對資料存儲

ini資料存儲的特點就是讀寫簡單,适合存儲一些簡單類型資料。

同樣源碼太多,這裡隻貼出測試例子:

實作在目前目錄下建立一個settings.ini檔案,并将目前月的天數存儲Section為int的time值中。

IniSharedPreferences prefs = new IniSharedPreferences("settings");//建立
            IniSharedPreferences.Editor editor = prefs.edit();
            editor.putInt("time", DateTime.DaysInMonth(2018, 10));//存儲
           

由于時間問題,今天就先寫到這。。。未完待續

工程下載下傳位址

https://download.csdn.net/download/qq_26914291/10751959