コード例 #1
0
        void outerBind()
        {
            bsOuter.DataSource = dtOuter;

            foreach (Control c in this.Controls)
            {
                if (c.Name == "cmb负责人")
                {
                    continue;
                }
                if (c.Name.StartsWith("tb"))
                {
                    (c as TextBox).DataBindings.Clear();
                    (c as TextBox).DataBindings.Add("Text", bsOuter.DataSource, c.Name.Substring(2), false, DataSourceUpdateMode.OnPropertyChanged);
                }
                else if (c.Name.StartsWith("lbl"))
                {
                    (c as Label).DataBindings.Clear();
                    (c as Label).DataBindings.Add("Text", bsOuter.DataSource, c.Name.Substring(3));
                }
                else if (c.Name.StartsWith("cmb"))
                {
                    (c as ComboBox).DataBindings.Clear();
                    (c as ComboBox).DataBindings.Add("Text", bsOuter.DataSource, c.Name.Substring(3));
                    ControlUpdateMode    cm = (c as ComboBox).DataBindings["Text"].ControlUpdateMode;
                    DataSourceUpdateMode dm = (c as ComboBox).DataBindings["Text"].DataSourceUpdateMode;
                }
                else if (c.Name.StartsWith("dtp"))
                {
                    (c as DateTimePicker).DataBindings.Clear();
                    (c as DateTimePicker).DataBindings.Add("Value", bsOuter.DataSource, c.Name.Substring(3));
                    ControlUpdateMode    cm = (c as DateTimePicker).DataBindings["Value"].ControlUpdateMode;
                    DataSourceUpdateMode dm = (c as DateTimePicker).DataBindings["Value"].DataSourceUpdateMode;
                }
            }
        }
コード例 #2
0
ファイル: BindingTests.cs プロジェクト: ZeroInfinite/winforms
        public void Binding_WriteValue_Invoke_DoesNotCallBindingComplete(ControlUpdateMode controlUpdateMode, bool formattingEnabled)
        {
            var binding = new Binding("propertyName", new object(), "dataMember")
            {
                ControlUpdateMode = controlUpdateMode,
                FormattingEnabled = formattingEnabled
            };

            // No handler.
            binding.WriteValue();

            // Handler.
            int callCount = 0;
            BindingCompleteEventHandler handler = (sender, e) => callCount++;

            binding.BindingComplete += handler;
            binding.WriteValue();
            Assert.Equal(0, callCount);

            // Should not call if the handler is removed.
            binding.BindingComplete -= handler;
            binding.WriteValue();
            Assert.Equal(0, callCount);
        }
コード例 #3
0
 ///<summary>
 /// 设置控件更新方式。
 /// </summary>
 /// <param name="property">源。</param>
 /// <param name="mode">模式。</param>
 /// <returns></returns>
 public static IBindableProperty SetControlUpdateMode(this IBindableProperty property, ControlUpdateMode mode)
 {
     property.ControlUpdateMode = mode;
     return(property);
 }
コード例 #4
0
        //外表控件绑定
        private void outerBind()
        {
            bs记录.DataSource = dt记录;
            ////控件绑定(先解除,再绑定)
            //tb产品代码.DataBindings.Clear();
            //tb产品代码.DataBindings.Add("Text", bs记录.DataSource, "产品代码");
            //tb产品批号.DataBindings.Clear();
            //tb产品批号.DataBindings.Add("Text", bs记录.DataSource, "产品批号");
            //dtp生产日期.DataBindings.Clear();
            //dtp生产日期.DataBindings.Add("Text", bs记录.DataSource, "生产日期");
            //tb管口代码.DataBindings.Clear();
            //tb管口代码.DataBindings.Add("Text", bs记录.DataSource, "管口代码");
            ////各种参数设定
            tb焊线1参数1.DataBindings.Clear();
            tb焊线1参数1.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数1");
            tb焊线1参数2.DataBindings.Clear();
            tb焊线1参数2.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数2");
            tb焊线1参数3.DataBindings.Clear();
            tb焊线1参数3.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数3");
            tb焊线1参数4.DataBindings.Clear();
            tb焊线1参数4.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数4");
            tb焊线1参数5.DataBindings.Clear();
            tb焊线1参数5.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数5");
            tb电压.DataBindings.Clear();
            tb电压.DataBindings.Add("Text", bs记录.DataSource, "电压");

            //tb合格品数量.DataBindings.Clear();
            //tb合格品数量.DataBindings.Add("Text", bs记录.DataSource, "合格品数量");
            //tb不良品数量.DataBindings.Clear();
            //tb不良品数量.DataBindings.Add("Text", bs记录.DataSource, "不良品数量");
            //tb审核员.DataBindings.Clear();
            //tb审核员.DataBindings.Add("Text", bs记录.DataSource, "审核员");
            //dtp审核日期.DataBindings.Clear();
            //dtp审核日期.DataBindings.Add("Text", bs记录.DataSource, "审核日期");

            foreach (Control c in this.Controls)
            {
                if (c.Name == "cmb负责人")
                {
                    continue;
                }
                if (c.Name.StartsWith("tb"))
                {
                    (c as TextBox).DataBindings.Clear();
                    (c as TextBox).DataBindings.Add("Text", bs记录.DataSource, c.Name.Substring(2), false, DataSourceUpdateMode.OnPropertyChanged);
                }
                else if (c.Name.StartsWith("lbl"))
                {
                    (c as Label).DataBindings.Clear();
                    (c as Label).DataBindings.Add("Text", bs记录.DataSource, c.Name.Substring(3));
                }
                else if (c.Name.StartsWith("cmb"))
                {
                    (c as ComboBox).DataBindings.Clear();
                    (c as ComboBox).DataBindings.Add("Text", bs记录.DataSource, c.Name.Substring(3));
                    ControlUpdateMode    cm = (c as ComboBox).DataBindings["Text"].ControlUpdateMode;
                    DataSourceUpdateMode dm = (c as ComboBox).DataBindings["Text"].DataSourceUpdateMode;
                }
                else if (c.Name.StartsWith("dtp"))
                {
                    (c as DateTimePicker).DataBindings.Clear();
                    (c as DateTimePicker).DataBindings.Add("Value", bs记录.DataSource, c.Name.Substring(3));
                    ControlUpdateMode    cm = (c as DateTimePicker).DataBindings["Value"].ControlUpdateMode;
                    DataSourceUpdateMode dm = (c as DateTimePicker).DataBindings["Value"].DataSourceUpdateMode;
                }
                else if (c.Name.StartsWith("cb"))
                {
                    (c as CheckBox).DataBindings.Clear();
                    (c as CheckBox).DataBindings.Add("Checked", bs记录.DataSource, c.Name.Substring(2));
                    ControlUpdateMode    cm = (c as CheckBox).DataBindings["Checked"].ControlUpdateMode;
                    DataSourceUpdateMode dm = (c as CheckBox).DataBindings["Checked"].DataSourceUpdateMode;
                }
            }
        }
コード例 #5
0
 public BindingBuilder <T, V> ControlUpdateMode(ControlUpdateMode updateMode)
 {
     _binding.ControlUpdateMode = updateMode;
     return(this);
 }
コード例 #6
0
ファイル: CompleteBinding.cs プロジェクト: havard/strongbind
 /// <summary>
 /// Sets the update mode for the target of the binding, i.e. when
 /// changes in the binding source are propagated to the target.
 /// </summary>
 /// <param name="value">The <see cref="ControlUpdateMode" /> to use for the target.</param>
 public CompleteBinding WithTargetUpdateMode(ControlUpdateMode value)
 {
     Binding.ControlUpdateMode = value;
     return this;
 }