[食譜好菜] 在 Windows 安裝 Flutter in Android Studio 到成功開啟範本 App 的過程記錄

Flutter 做為一個跨平台解決方案,從 2017 年橫空出世之後,短短幾年的時間便能夠在市場佔有一席之地,除了背後有 Google 的支援之外,其號稱一份原始碼就能夠在 Android、iOS、Windows、macOS、Linux、Web 上建置執行,頗有一統江湖的氣勢,這篇文章記錄我在 Windows 上,從安裝 Flutter in Android Studio,到建置並成功執行範本 App 的過程。

...繼續閱讀 »

[廚餘回收] 遠端桌面連線:發生驗證錯誤,不支援要求的功能,這可能是因為 CredSSP 加密預示修復/加密 Oracle 補救措施。

小時候換新電腦都會感到興奮,覺得又有新玩具可以玩了,除了感受新硬體設備帶來的速度快感之外,還能體驗新作業系統帶來的新鮮感,有了一定的年紀之後,電腦變成工作用的工具,就只有希望它好好的不要出事,而且對於換新電腦也沒有什麼動力,因為習慣的軟體及配置,就要重新安裝跟設定,這幾天在替新電腦設定工作環境的時候,遇到了這個錯誤:

這個錯誤是在測試遠端桌面連線的時候跳出來的,在幾年前曾經遇過,當時解決之後想說應該不會再碰到了,沒想到又遇上了,寫一篇文章記錄一下。

...繼續閱讀 »

[料理佳餚] 用 Azure Files 在 Windows 建立雲端的共享資料夾

上一篇文章透過一個 CRUD 的範例,跟大家介紹 Azure Blob Storage 的基本使用方式,這篇文章要來跟大家分享 Azure Storage 的另一個服務 - Azure Files,它支援 SMB 協定,可以讓我們透過「網路磁碟機」的方式,直接連線到 Azure Files 的儲存空間,存取檔案就像在本機一樣,相當方便。

...繼續閱讀 »

[食譜好菜] 殺雞焉用牛刀,想做關鍵字搜尋 Windows Search Service 一樣嚇嚇叫。

最近手上的專案有一個需求,使用者想對上傳的檔案(簡報、會議記錄、...等)做關鍵字搜尋,腦中閃過的第一個解決方案是 Elasticsearch(ES),但是這得額外架設服務、撰寫程式將檔案內容送進 ES 做索引,要花錢、花時間,使用者不一定買單,所以我就想到 Windows 檔案總管的搜尋功能能不能拿來用?它背後使用的服務是 Windows Search Service(WSS),下關鍵字去 Google 馬上就找到黑大的文章,感謝黑大。

...繼續閱讀 »

[料理佳餚] Windows Forms 三種 Binding 的連動方式:TwoWayBinding、OneWayBinding、OneWayToSourceBinding

日常的工作當中,還是難免遇到需要維護 Windows Forms 的程式,基本上 Windows Forms 控制項的互動能夠用 Binding 的方式去處理,我就儘量用 Binding 的方式去處理,讓我自己能夠有更多的精神放在商業邏輯上,這篇文章想跟大家分享 Windows Forms 的三種 Binding 的連動方式。

...繼續閱讀 »

[食譜好菜] C# 複製 HTML 格式的文字到剪貼薄中

部落格的文章我一直是用 Markdown Monster 寫完後,直接 Ctrl + Shift + C,Markdown Monster 會直接幫我將文章轉成 HTML 內容寫入到剪貼薄中,接著在點部落的編輯器上切換原始碼,再把 HTML 內容貼上去,但是最近點部落的編輯器改版了,沒辦法直接貼上 HTML 原始碼,可是 Markdown Monster 複製的 HTML 內容居然貼得上去,這其中必有緣故。

...繼續閱讀 »

[小菜一碟] Windows Forms 的 DataGridViewComboBoxColumn 選項變更後立即更新到 DataSource

Windows Forms 的 DataGridView 開啟編輯資料之後,我們就可以在畫面上直接對資料進行修改,預設的統一操作行為是修改完資料之後,按下 Enter 鍵或是離開該儲存格,資料就會更新到綁定的 DataSource 上,就像下面這樣:

但是呢,使用者會希望能在修改之後立即更新到 DataSource,不要再多敲 Enter 鍵或離開儲存格的動作,尤其是 ComboBox,我們來看一下怎麼弄?

...繼續閱讀 »

[廚餘回收] 在 Windows Forms 做控制項的資料綁定後,發生「跨執行緒作業無效」的錯誤。

如果我們的 Data Source 是非同步更新的話,那麼我們就很容易收到下面的錯誤訊息。

跨執行緒作業無效: 存取控制項 'xxx' 時所使用的執行緒與建立控制項的執行緒不同。(Cross-thread operation not valid: Control 'xxx' accessed from a thread other than the thread it was created on.)

一般遇到這個情況,我們通常就是判斷 Control.InvokeRequired 屬性,然後改用 Control.Invoke()Control.BeginInvoke() 方法來修改控制項的屬性,如果是在有資料綁定的情況呢?怎麼解決這個跨執行緒的問題?

...繼續閱讀 »