private void btn_Close_Click(object sender, RoutedEventArgs e)
        {
            if (m_Parent == null)
            {
                return;
            }

            if (CheckClose != null) //防止無事件時當掉
            {
                CheckClose.Invoke(this, e);
            }

            m_Parent.Items.Remove(this);                                                  //移除自己TabItem
            m_Parent.SizeChanged -= m_Parent_SizeChanged;                                 //移除事件

            int    criticalCount = (int)((m_Parent.ActualWidth - 5) / m_ConventionWidth); //調整剩餘項大小,保持约定寬度item的臨界個數
            double perWidth      = (m_Parent.ActualWidth - 5) / m_Parent.Items.Count;     //平均寬度

            foreach (UCTabItemWithClose item in m_Parent.Items)
            {
                if (m_Parent.Items.Count <= criticalCount)
                {
                    item.Width = m_ConventionWidth;
                }
                else
                {
                    item.Width = perWidth;
                }
            }
        }
示例#2
0
 public void log10_libm_validate()
 {
     for (var i = 0; i < RepCount; i++)
     {
         var x     = Random.Next <double>();
         var y     = libm.log10(x);
         var z     = fmath.log(x);
         var error = fmath.relerr(y, z).Round(10);
         CheckClose.almost(error, 0.0);
     }
 }
示例#3
0
 public void exp_libm_valid()
 {
     for (var i = 0; i < RepCount; i++)
     {
         var x     = Random.Next <double>(MinExp, MaxExp);
         var y     = libm.exp(x);
         var z     = fmath.exp(x);
         var error = fmath.relerr(y, z).Round(10);
         CheckClose.almost(error, 0);
     }
 }