目前分類:Windows Forms (5)

瀏覽方式: 標題列表 簡短摘要

用 Visual Studio 開發 WinForm 的視窗程式介面時,專案有很方便的方式開發多語系介面。
但是,如果是在程式啟動、載入之後,才要變更語系呢?

在網路上搜尋、嘗試了一陣子,還沒找到方便的方法,只能刻苦耐勞地去刻:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

System.Windows.Forms.WebBrowser

在前端寫 JavaScript code 辨別。

    //alert( window.navigator.appName );  // Edge, 11 -> "Netscape"==appName
    engine = null;
    if ( window.navigator.appName == "Microsoft Internet Explorer" || window.navigator.appName == "Netscape" )
    {
       // This is an IE browser. What mode is the engine in?
       if ( document.documentMode ) // IE8 or later
       {
          engine = document.documentMode;
       }
       else // IE 5-7
       {
          engine = 5; // Assume quirks mode unless proven otherwise
          if ( document.compatMode )
          {
             if ( document.compatMode == "CSS1Compat" )
                engine = 7; // standards mode
          }
          // There is no test for IE6 standards mode because that mode  
          // was replaced by IE7 standards mode; there is no emulation.
       }
       // the engine variable now contains the document compatibility mode.
       //alert( engine );  // 10, 9, 8, ...
    }

參考來源:Internet

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

繼上一篇:[程式][WinForm][C#] backgroundWorker執行緒 如何修改WinForm主執行緒上控制元件的值?

使用 System.Windows.Forms.MethodInvoker 跨執行緒 修改主執行緒的值;

但「public delegate void MethodInvoker();」不能傳參數進去。

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

取得 WebBrowser的cookie:

string cookieStr = webBrowser.Document.Cookie;

存到 CookieContainer:

        private CookieContainer GetCookieContainer( string cookieStr )
        {
            CookieContainer myCookieContainer = new CookieContainer();
            string[] cookstr = cookieStr.Split( ';' );
            foreach ( string str in cookstr )
            {
                string[] cookieNameValue = str.Split( '=' );
                Cookie ck = new Cookie( cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString() );
                ck.Domain = Properties.Settings.Default.ServerDomain ;  // 必須寫對.
                myCookieContainer.Add( ck );
            }

            return myCookieContainer;
        }

使用 HttpWebRequest:

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()

以 TextBox 為例:

private void bgw1_DoWork(object sender, DoWorkEventArgs e)
{
  {
    this.Invoke(new MethodInvoker(delegate { textBox1.Text = "working.." }));
  }
}

參考:Textbox text from background worker?

 

文章標籤

Robert 發表在 痞客邦 留言(0) 人氣()