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; } } }
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); } }
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); } }