有開發過 ASP.NET 網頁應用程式的朋友,應該對 Web.Config
、Web.Debug.Config
、Web.Release.Config
這三個設定檔不陌生,在建置專案的時候,建置程序會依據組態(Debug|Release)進行設定轉換,產出專屬於該組態的 Web.Config,如果換作是 Windows Form 應用程式的 App.Config 的話,該怎麼做?
[廚餘回收] 當 Nullable Value Types 與 Binding 在 Windows Forms 中相遇
- 525
- 0
- Windows Forms
Nullable Value Types 允許實值型別可為 Null,這點加大了實值型別應用的彈性,不過卻也帶來了一些副作用,當 Nullable Value Types 成為 Binding 的 Data Source 時,我們會發現它不再像以前一樣正常 Work 了。
[料理佳餚] Windows Forms 三種 Binding 的連動方式:TwoWayBinding、OneWayBinding、OneWayToSourceBinding
- 1042
- 0
- Windows Forms
日常的工作當中,還是難免遇到需要維護 Windows Forms 的程式,基本上 Windows Forms 控制項的互動能夠用 Binding 的方式去處理,我就儘量用 Binding 的方式去處理,讓我自己能夠有更多的精神放在商業邏輯上,這篇文章想跟大家分享 Windows Forms 的三種 Binding 的連動方式。
[小菜一碟] Windows Forms 的 DataGridViewComboBoxColumn 選項變更後立即更新到 DataSource
- 734
- 0
- Windows Forms
Windows Forms 的 DataGridView 開啟編輯資料之後,我們就可以在畫面上直接對資料進行修改,預設的統一操作行為是修改完資料之後,按下 Enter 鍵或是離開該儲存格,資料就會更新到綁定的 DataSource 上,就像下面這樣:
但是呢,使用者會希望能在修改之後立即更新到 DataSource,不要再多敲 Enter 鍵或離開儲存格的動作,尤其是 ComboBox,我們來看一下怎麼弄?
[廚餘回收] 在 Windows Forms 做控制項的資料綁定後,發生「跨執行緒作業無效」的錯誤。
- 1309
- 0
- 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()
方法來修改控制項的屬性,如果是在有資料綁定的情況呢?怎麼解決這個跨執行緒的問題?
[小菜一碟] 在 Windows Forms 中如何讓不具有資料綁定能力的控制項做資料綁定?
- 655
- 0
- Windows Forms
在 Windows Forms 當中,只要是繼承自 Control 的控制項,都有實作 IBindableComponent 這個介面,都具有資料綁定的能力,但是有一些控制項就沒有,例如:ToolStripStatusLabel,不過也不是不能做資料綁定,加給它就好了。
[小菜一碟] Windows Forms TextBox 的單向綁定
- 1394
- 0
- Windows Forms
要在一支既有的 Windows Forms(Windows 視窗程式)上,增加一個 TextBox 控制項,它有一個特殊的需求,就是在 TextBox 修改的文字不能與綁定的 DataMember 連動,簡單來說,就是做單向綁定(One-Way Binding)
。
- 1