protected void SetDefaultHandlersToControls() { foreach (Control control in this.Controls) { if (control.Tag != null && control.Tag is string && (control.Tag as string).Length > 0) { if (control is views.controls.DateInputPanel) { views.controls.DateInputPanel dinput = control as views.controls.DateInputPanel; dinput.Enter += DefaultHandlerControlEnter; dinput.Leave += DefaultHandlerControlLeave; dinput.DateChanged += DefaultHandlerDateInputChanged; } else if (control is DateTimePicker) { DateTimePicker picker = control as DateTimePicker; picker.Enter += DefaultHandlerControlEnter; picker.ValueChanged += delegate(object s, EventArgs e) { DefaultHandlerControlChanged(s, e); DefaultHandlerControlLeave(s, e); }; } else if (control is controls.FormattedViewTextBox) { controls.FormattedViewTextBox ft = control as controls.FormattedViewTextBox; ft.Enter += DefaultHandlerControlEnter; ft.ValueChanged += delegate(object s, EventArgs e) { DefaultHandlerControlChanged(s, e); DefaultHandlerControlLeave(s, e); }; } else { control.Leave += DefaultHandlerControlLeave; control.Enter += DefaultHandlerControlEnter; if (control is CheckBox) { (control as CheckBox).CheckedChanged += DefaultHandlerControlChanged; } else { control.TextChanged += DefaultHandlerControlChanged; } } } } }
private void AddEnterFocusMethodToControl(Control control) { foreach (Control child in control.Controls) { if (child is views.controls.DateInputPanel) { views.controls.DateInputPanel pnl = child as views.controls.DateInputPanel; pnl.TextBoxKeyDown += control_KeyDown; pnl.TextBoxPreviewKeyDown += Control_PreviewKeyDown; } else if (child is RadioButton || child is CheckBox || child is Button || child is ComboBox || child is DateTimePicker) { child.KeyDown += control_KeyDown; child.PreviewKeyDown += Control_PreviewKeyDown; } else if (child is TextBox && (child as TextBox).Multiline == false) { child.KeyDown += control_KeyDown; child.PreviewKeyDown += Control_PreviewKeyDown; } AddEnterFocusMethodToControl(child); } }
protected void SetRowDataToDateInputPanel(views.controls.DateInputPanel control, models.db.Row rowData) { control.Date = rowData.GetDate(control.Tag as string); }