C # checkbox EventHandler - PullRequest
       8

C # checkbox EventHandler

0 голосов
/ 08 января 2009
    private void CheckBox_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox chk = (CheckBox)sender;
        SetValuesInDB( System.Security.Principal.WindowsIdentity.GetCurrent().Name,
                       DateTime.Today.Date);

    }

Теперь я хочу установить значения моего идентификатора и текущей даты в базе данных, только если я непосредственно нажал на флажок.

Я не хочу обновлять эти значения в базе данных, если какое-либо другое событие вызывает этот обработчик события. Например: при загрузке каждый раз флажок устанавливается, но значение базы данных для этого флажка не проверяется. поэтому каждый раз, когда запускается этот обработчик событий и значение базы данных обновляется. Как мне позаботиться об этом?

Ответы [ 2 ]

5 голосов
/ 08 января 2009

Вместо этого используйте событие CheckBox.Click. Он срабатывает, если пользователь нажимает на флажок или использует пробел для переключения флажка.

0 голосов
/ 29 октября 2012

Я не совсем уверен, что вы хотите сделать.

Если вы хотите, чтобы значение в базе данных и пользовательском интерфейсе всегда было актуальным, вы можете попробовать DataBindings ...

</p> <pre><code>internal class MyDataSource { public bool MyBooleanValue { get { return ReadValueFromDB("MyUser", "MyBool"); } set { SaveValueToDB("MyUser", value); } } } ... internal class MyControl { internal MyControl() { dataSource = new MyDataSource(); InitializeComponents(); myCheckbox.DataBindings.Add( "Checked", dataSource, "MyBooleanValue" ); } private MyDataSource dataSource; }

в противном случае вы можете записать значение только в базу данных, когда пользователь завершит операцию. Например, закрывающий обработчик события формы или обработчик события щелчка okButton.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...