日期:2014-05-17  浏览次数:20743 次

赋值延后的问题
我想有一个textbox来修改自定义控件的最大值,发现最大值可以修改,但是控件显示会延后,要等下次点击事件后才能显示出来
比如我修改2,但控件还是显示4

下次当我修改为4,控件才把上次赋值的2显示出来

每次都是延后一次才会显示.郁闷啊
下面是我的代码
控件名是uivProgressBar1
        private void OnSetValue_Click(object sender, EventArgs e)
        {
            uivProgressBar1.MaxValue = Convert.ToInt32(uiTextBox2.Text);
            uiLabel7.AdsValue = uiTextBox2.Text;
            try
            { 
                NumPadForm dlg = new NumPadForm(
                  ((InjectionMolding.TextBox.UITextBox)sender).AdsVarID,
                  ((InjectionMolding.TextBox.UITextBox)sender).MaxValue,
                  ((InjectionMolding.TextBox.UITextBox)sender).MinValue,
                  ((InjectionMolding.TextBox.UITextBox)sender).Text
                 );
                dlg.ShowDialog();
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

------解决方案--------------------
  dlg.ShowDialog();前加一个判断

if(!(sender is uiTextBox))
   dlg.ShowDialog();