예제 #1
0
        public static void setBinding(this Control control, string controlPropertyName,
                                      object dataSource, string dataSourceMember,
                                      BindinUpdateMode bindingMode = BindinUpdateMode.Both)
        {
            try
            {
                var binding = new Binding(
                    controlPropertyName, dataSource, dataSourceMember);

                switch (bindingMode)
                {
                case BindinUpdateMode.ControlOnly:
                    binding.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;
                    binding.DataSourceUpdateMode = DataSourceUpdateMode.Never;
                    break;

                case BindinUpdateMode.SourceOnly:
                    binding.ControlUpdateMode    = ControlUpdateMode.Never;
                    binding.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                    break;

                default:
                    binding.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                    binding.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;
                    break;
                }

                control.DataBindings.Add(binding);
            }
            catch (Exception ex)
            {
                ex.ShowMessageBox();
            }
        }
예제 #2
0
 public static void setBinding(this Form form,
                               string controlName, string controlPropertyName,
                               object dataSource, string dataSourceMember,
                               BindinUpdateMode bindingMode = BindinUpdateMode.Both)
 {
     try
     {
         setBinding(findControl(controlName, form), controlPropertyName,
                    dataSource, dataSourceMember, bindingMode);
     }
     catch (Exception ex)
     {
         ex.ShowMessageBox();
     }
 }