protected override void OnStateChanged(BulkEditorAdapter sender, BulkEditorStateEventArgs e) { base.OnStateChanged(sender, e); AutoHeightRadioButton autoHeightRadioButton = base.HostControl as AutoHeightRadioButton; bool @checked = autoHeightRadioButton.Checked; RadioButtonBulkEditorAdapter.UpdatePeerRadioButtons(autoHeightRadioButton, base["Checked"]); if (base["Checked"] != null && base["Checked"] != 3) { this.forceAllowCheckedChangedEvent = true; autoHeightRadioButton.Checked = autoHeightRadioButton.BulkEditDefaultChecked; this.forceAllowCheckedChangedEvent = false; autoHeightRadioButton.Checked = @checked; Binding binding = autoHeightRadioButton.DataBindings["Checked"]; if (binding != null) { binding.WriteValue(); } autoHeightRadioButton.TabStop = true; } else if (base["Checked"] != 3) { autoHeightRadioButton.Checked = !autoHeightRadioButton.Checked; } autoHeightRadioButton.Invalidate(); }
private static void UpdatePeerRadioButtons(RadioButton radioButton, BulkEditorState state) { if (radioButton.Parent != null) { foreach (object obj in radioButton.Parent.Controls) { Control control = (Control)obj; if (control is RadioButton) { IBulkEditor bulkEditor = control as IBulkEditor; RadioButtonBulkEditorAdapter radioButtonBulkEditorAdapter = bulkEditor.BulkEditorAdapter as RadioButtonBulkEditorAdapter; if (radioButtonBulkEditorAdapter != null) { radioButtonBulkEditorAdapter["Checked"] = state; } } } } }