Windows.Forms

CheckedListBoxのチェック状態を簡単に取得・設定できるクラスを作成

using System.Linq.Expressions; using System.Windows.Forms; ... public class CheckedListBoxWrapper<T, Tvm, Tdm> { CheckedListBox c; Func<T, Tvm> vmSelector; Func<T, Tdm> dmSelector; // コンストラクタ public CheckedListBoxWrapper(CheckedListBox c) { this.c = c; } // デ</t,></t,></t,>…

DataGridViewでCtrl+0(null値入力)の抑制

DataGridView を継承したクラスを作成。 ProcessDialogKey() と ProcessDataGridViewKey() をオーバーライドして Ctrl+0 の時に基底クラスのメソッドを呼ばないようにする。 protected override bool ProcessDialogKey(Keys keyData) { if (Pressed(keyData,…

キー入力でボタンクリックイベント発生やメソッド実行ができるようにする

■使用例 //F1キーを押すとbutton1のクリックイベント発生 //(※フォームが子コントロールのキーイベントを受け取れるように、 //あらかじめKeyPreviewをtrueにしておくこと) ControlHelper.SetButtonClickShortcut(this, Keys.F1, button1); //textBox1でEn…

DataGridViewのコンボボックスをワンクリックでドロップダウンさせる

■使用例 DgvHelper.SetOneClickDropDown(dgv); ■コード /// <summary> /// DataGridViewのコンボボックスをワンクリックでドロップダウンさせる。 /// </summary> public static void SetOneClickDropDown(DataGridView dgv) { if (dgv == null) { return; } dgv.CellClick += (…

指定したコントロールにフォーカスがあるときラベルを強調 2

ラベルの強調表示の解除と強調の方法を指定できるようにした。■使用例 //強調(デフォルト設定) LabelHighlighter.Add(label1, textBox1); //強調の解除 LabelHighlighter.Remove(label1, textBox1); //強調(強調方法を指定) LabelHighlighter.Add(label1…

ComboBoxにbooleanのDataSourceを設定

boolだからCheckBoxで良さそうだけど、どうしてもComboBoxがいいって言われる時があるんだよね。 /// <summary> /// Combobox に boolean の DataSource を設定。 /// </summary> public static void SetBooleanDataSource(ComboBox comboBox, string trueText = "あり", string…

指定したコントロールにフォーカスがあるとき、ラベルを強調させる

/// <summary> /// 指定したコントロールにフォーカスがあるとき、ラベルを強調。 /// </summary> /// <param name="label">強調するラベル</param> /// <param name="control">フォーカスの監視対象のコントロール</param> public static void EmphasizeOnFocus(Label label, Control control) { control.Enter += (sender, e) => { label.…