redwarrior’s diary

C#, ASP.NET, WEB, G*などの雑多な情報

WinForms

(小ネタ)WindowsフォームのDataBindingに関するリンク集

Windowsフォームでデータバインディングを行う場合に、BindingSource、IDataErrorInfo、ErrorProvider、null値の制御についての有用なリンク集。 サイト WindowsFormsでの単項データバインドまわり | tocsworld IDataErrorInfo Interface (System.ComponentM…

BindingSourceを使用したTextBoxのデータ入力時におけるメリット

以前にWindowsフォームで作成したアプリケーションを修正する機会があり、BindingSourceについて理解が深まったので、記録を残しておく。 「TextBoxに入力した値をバリデーションして、正しい値ならば紐づいたDBのレコードを更新する」というよくある処理を…

ClickOnceアプリケーションをコマンドライン(MSBuild)から発行する方法

ClickOnceアプリケーションをコマンドラインもしくはPowerShellから、MSBuildを使用して発行する方法がわかったので、忘備録としてまとめておく。 MSDNと@ITで必要な情報は足ります。 MSDN ClickOnce のセキュリティと配置 MSBuild ClickOnce アプリケーショ…

ClickOnceアプリケーションをMSBuildで発行しようとしたらエラー発生(したけど解決した)

ClickOnceアプリケーションをMSBuildを使用して発行しようとしたら、エラーに遭遇したのでメモを残しておきます。 エラーメッセージは、以下の通りです(見辛いので改行しています) C:\windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targ…

(小ネタ)WindowsフォームでShowDialogメソッド、Showメソッド、Closeメソッド、Disposeメソッドの動作を理解する。

Windowsフォームアプリケーションのソースコードを見ていて、ShowDialogメソッド、Showメソッド、Closeメソッド、Disposeメソッドの動作の理解があいまいだったので調べました。 ShowDialogメソッド フォームクラスのShowDialogメソッドを実行すると、画面が…

(小ネタ)INotifyPropertyChangedの実装も、ReSharperはサポートしている

Windowsフォームでデータバインディングをする場合に、INotifyPropertyChangedをオブジェクトに実装する必要があるが、ReSharperを使用するとメニューから選択するだけで作成してくれる。 (どのフィールドを通知対象とするかは、フィールドごとに設定する必…

(小ネタ)BindingSourceを手動で更新すると、行の設定が解除される場合がある

System.Windows.Forms.BindingSourceのDataSourceプロパティに通常の(BindingListではない)Listを代入した場合、 Listの要素を更新を反映させるためには、BindingSourceのResetItemメソッドに対象のインデックスを渡して呼ぶか、ResetBindingsメソッドを呼ぶ…