winforms .netのdatetimepickerコントロールにチェックボックスがあります。 しかし、チェックボックスをオンまたはオフにしたときにトリガーされるイベントが見つかりませんでした。 退出はありますか? 「チェックする」場合you'llが決定することができるので、datetimepickerの入手方法c#winformチェック/未チェックイベント
答えて
You'll変更値が古いを保存する必要がトリガーんが、新しいものに比較するために、値を「確認しました」状態が変更されました:
bool oldDateChecked = false; //if it's created as not checked
private void dtp_filtro_date_ValueChanged(object sender, EventArgs e)
{
if (this.dtp_filtro_date.Checked != oldDateChecked)
{
oldDateChecked = this.dtp_filtro_date.Checked;
//do your stuff ...
}
}
それはしかし、イベント
コードでCheckedプロパティが設定されていない限り、 –
同じ問題が発生しました。私は、WinFormsのDateTimePickerコントロールでCheckedChangedEventが必要でした。だから私の前に答えのインスピレーションを得て、私はこのイベントを実装するDateTimePickerから継承した、DateTimePicker2という名前の継承されたユーザーコントロールを作成しました。それは動作するように見えますが、保証はありません。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace MyNameSpace
{
public partial class DateTimePicker2 : DateTimePicker
{
private bool _checked;
public new bool Checked
{
get
{
return base.Checked;
}
set
{
if (value != base.Checked)
{
base.Checked = value;
_checked = base.Checked;
OnCheckedChanged(new CheckedChangedEventArgs { OldCheckedValue = !value, NewCheckedValue = value });
}
}
}
public event CheckedChangedEventHandler CheckedChanged;
public DateTimePicker2()
{
InitializeComponent();
_checked = Checked;
}
protected virtual void OnCheckedChanged(CheckedChangedEventArgs e)
{
if (CheckedChanged != null) CheckedChanged(this, e);
}
private void DateTimePicker2_ValueChanged(object sender, EventArgs e)
{
if (Checked != _checked)
{
_checked = Checked;
CheckedChangedEventArgs cce = new CheckedChangedEventArgs { OldCheckedValue = !_checked, NewCheckedValue = _checked };
OnCheckedChanged(cce);
}
}
}
public delegate void CheckedChangedEventHandler(object sender, CheckedChangedEventArgs e);
public class CheckedChangedEventArgs : EventArgs
{
public bool OldCheckedValue { get; set; }
public bool NewCheckedValue { get; set; }
}
}
オフコースでは、デザイナーからのDateTimePicker2_ValueChangedイベントの購読を忘れないようにしてください。
- base.Checkedプロパティにはないので、私は、以前の値のトラックを保つために_checkedフィールド(base.Checked 1を非表示にする)新しいCheckedプロパティの両方を使用する理由は、ありますプログラムで変更されたときにValueChangedイベントが発生し、そのために新しいプロパティが必要になりました。
- this.Checked新しいプロパティは、UIから変更されたときにValueChangedイベントを発生させないため、base.Checkedプロパティを追跡するフラグが必要です。
基本的に両方のアプローチの組み合わせが必要でした。
こちらがお役に立てば幸いです。
良いと簡単な解決策。ファッション2017に従ってそれを作るには、デリゲートの代わりに 'event EventHandler
私はこれが超古いことを知っていますが、これは誰かを助けることができます。
あなたはまた、チェックボックスを活性化できるスペースキープレスを取得するためにKeyUp
イベントで同じことを行う必要がありますDataTimePicker.MouseUp
イベント
private void dateTimePicker1_MouseUp(object sender, MouseEventArgs e)
{
if (((DateTimePicker)sender).Checked)
{
//Do whatever you need to do when the check box gets clicked
}
else
{
//Do another stuff...
}
}
をキャプチャすることができます。
- 1. 迷惑チェックボックスWindows Phone 7のチェック済みおよび未チェックイベント
- 2. 入手方法-std = C++ 11 w/libstdC++?
- 3. C#DateTimePicker
- 4. ユーザーフィードバックの入手方法
- 5. 最新の入手方法
- 6. テストケースの入手方法
- 7. CherryPyの入手方法
- 8. Zend_Db_Exception - アダプタの入手方法
- 9. IDirect3DSurface9の入手方法
- 10. Recyclerview(Recyclerviewの入手方法)
- 11. GCCリンカーコマンドの入手方法?
- 12. アクセストークンの入手方法は?
- 13. iframeコンテンツの入手方法
- 14. WinApi - SHELLDLL_DefViewの入手方法
- 15. UITextField.tag + 1の入手方法?
- 16. カフェノートブックの入手方法
- 17. のDateTimePicker C#
- 18. 良いライセンスキージェネレーターの入手方法または入手先
- 19. C#のコンボボックスへの手動入力を防ぐ方法
- 20. C#WinForms DateTimePickerコンポーネント
- 21. C#DateTimePicker change MonthCalendar
- 22. knockout.jsをチェックしてチェックボックスのチェックイベントを聞きます
- 23. Matlabを入手する最良の方法<-> C++インターフェイス
- 24. C#:2つのwinformコントロールの位置を入れ替える方法
- 25. C#で入力(xls)ファイルのコンテンツタイプをチェックする方法は?
- 26. c#winformアプリケーションで未使用のリソースを廃棄するGLOBALLY
- 27. symfonyのモジュールリストの入手方法
- 28. F#3.0のF#powerpackの入手方法
- 29. instagram apiのaccess_tokenの入手方法
- 30. tdからの値の入手方法
ここをクリックhttp://social.msdn.microsoft.com/Forums/en-US/winforms/thread/27dd3141-5dfb-439e-8e30-e051a019303a/ – V4Vendetta