点击和焦点事件

private void text_GotFocus(object sender, EventArgs e)
        {
            using (var db = new FiDbContext())
            {
                ComboBoxLink com = (ComboBoxLink)sender;

                if (com.ItemsSource == null)
                {
                    //科目绑定
                    List<Fi_Subject> sub = db.Subjects.ToList();
                    ComboBox aa = new ComboBox();

                    // aa.ItemsSource
                    //com.ItemSource = new ObservableCollection<Fi_Subject>(sub);
                    com.ItemsSource = new ObservableCollection<Fi_Subject>(sub);
                    com.DisplayMemberPath = "Name";
                    com.SelectedValuePath = "ID";

                    //com.SelectedValue = "1";
                }
            }
        }
        private void textT_LostFocus(object sender, RoutedEventArgs e)
        {
            CompreFunction data = new CompreFunction();
            //失去焦点文本如为负数修改前景色为Red  
            TextBox tt = (TextBox)sender;
            if (tt.Text != "")
            {
                decimal isok = decimal.Parse(tt.Text);
                if (isok < 0)
                {
                    tt.Foreground = new SolidColorBrush(Colors.Red);
                    tt.Text = (isok * (-1)).ToString();
                }
            }
            int rows = MainGrid.RowDefinitions.Count - 1;
            TextBlock text = FindChild<TextBlock>(Application.Current.MainWindow, ("tbkSum" + rows + 3));
            TextBlock textTwo = FindChild<TextBlock>(Application.Current.MainWindow, ("tbkSum" + rows + 2));
            TextBlock textFirst = FindChild<TextBlock>(Application.Current.MainWindow, ("tbkSum" + rows + 0));
            decimal Sum = 0;
            for (int r = 1; r < rows; r++)
            {
                TextBox texts = FindChild<TextBox>(Application.Current.MainWindow, ("text" + r + 3));
                if (!string.IsNullOrWhiteSpace(texts.Text))
                {
                    if (texts.Foreground.ToString() == "#FFFF0000")
                    {
                        Sum = Sum + (decimal.Parse(texts.Text.ToString()) * (-1));
                    }
                    else
                    {
                        Sum = Sum + decimal.Parse(texts.Text.ToString());
                    }
                }
            }

            if (Sum < 0)
            {
                Sum = Sum * (-1);
                text.Foreground = new SolidColorBrush(Colors.Red);
            }
            else
            {
                text.Foreground = new SolidColorBrush(Colors.Black);
            }
            text.Text = Sum.ToString();
            if (text.Text != "" && textTwo.Text != "")
            {
                if (text.Foreground.ToString() == "#FFFF0000" && textTwo.Foreground.ToString() == "#FFFF0000")
                {
                    if (decimal.Parse(text.Text) == decimal.Parse(textTwo.Text) && decimal.Parse(text.Text) != 0 && decimal.Parse(textTwo.Text) != 0)
                    {
                        textFirst.Text = "合计:负" + data.CmycurD(Sum);
                        textFirst.Foreground = new SolidColorBrush(Colors.Red);
                    }
                    else
                    {
                        textFirst.Text = "合计:";
                        textFirst.Foreground = new SolidColorBrush(Colors.Black);
                    }
                }
                if ((text.Foreground.ToString() == "#FFFF0000" && textTwo.Foreground.ToString() != "#FFFF0000") || (text.Foreground.ToString() != "#FFFF0000" && textTwo.Foreground.ToString() == "#FFFF0000"))
                {
                    textFirst.Text = "合计:";
                    textFirst.Foreground = new SolidColorBrush(Colors.Black);
                }
                if (text.Foreground.ToString() != "#FFFF0000" && textTwo.Foreground.ToString() != "#FFFF0000")
                {
                    if (decimal.Parse(text.Text) == decimal.Parse(textTwo.Text) && decimal.Parse(text.Text) != 0 && decimal.Parse(textTwo.Text) != 0)
                    {
                        textFirst.Text = "合计:" + data.CmycurD(Sum);
                    }
                    else
                    {
                        textFirst.Text = "合计:";
                        textFirst.Foreground = new SolidColorBrush(Colors.Black);
                    }
                }
            }
        }

        private void text_LostFocus(object sender, RoutedEventArgs e)
        {
            CompreFunction data = new CompreFunction();
            TextBox tt = (TextBox)sender;
            if (tt.Text != "")
            {
                decimal isok = decimal.Parse(tt.Text);
                if (isok < 0)
                {
                    tt.Foreground = new SolidColorBrush(Colors.Red);
                    tt.Text = (isok * (-1)).ToString();
                }
            }
            int rows = MainGrid.RowDefinitions.Count - 1;
            TextBlock text = FindChild<TextBlock>(Application.Current.MainWindow, ("tbkSum" + rows + 2));
            TextBlock textLast = FindChild<TextBlock>(Application.Current.MainWindow, ("tbkSum" + rows + 3));
            TextBlock textFirst = FindChild<TextBlock>(Application.Current.MainWindow, ("tbkSum" + rows + 0));
            decimal Sum = 0;
            for (int r = 1; r < rows; r++)
            {
                TextBox texts = FindChild<TextBox>(Application.Current.MainWindow, ("text" + r + 2));
                if (!string.IsNullOrWhiteSpace(texts.Text))
                {
                    if (texts.Foreground.ToString() == "#FFFF0000")
                    {
                        Sum = Sum + (decimal.Parse(texts.Text.ToString()) * (-1));
                    }
                    else
                    {
                        Sum = Sum + decimal.Parse(texts.Text.ToString());
                    }
                }
            }
            if (Sum < 0)
            {
                Sum = Sum * (-1);
                text.Foreground = new SolidColorBrush(Colors.Red);
            }
            else
            {
                text.Foreground = new SolidColorBrush(Colors.Black);
            }
            text.Text = Sum.ToString();
            if (text.Text != "" && textLast.Text != "")
            {
                if (text.Foreground.ToString() == "#FFFF0000" && textLast.Foreground.ToString() == "#FFFF0000")
                {
                    if (decimal.Parse(text.Text) == decimal.Parse(textLast.Text) && decimal.Parse(text.Text) != 0 && decimal.Parse(textLast.Text) != 0)
                    {
                        textFirst.Text = "合计:负" + data.CmycurD(Sum);
                        textFirst.Foreground = new SolidColorBrush(Colors.Red);
                    }
                    else
                    {
                        textFirst.Text = "合计:";
                        textFirst.Foreground = new SolidColorBrush(Colors.Black);
                    }
                }
                if ((text.Foreground.ToString() == "#FFFF0000" && textLast.Foreground.ToString() != "#FFFF0000") || (text.Foreground.ToString() != "#FFFF0000" && textLast.Foreground.ToString() == "#FFFF0000"))
                {
                    textFirst.Text = "合计:";
                    textFirst.Foreground = new SolidColorBrush(Colors.Black);
                }
                if (text.Foreground.ToString() != "#FFFF0000" && textLast.Foreground.ToString() != "#FFFF0000")
                {
                    if (decimal.Parse(text.Text) == decimal.Parse(textLast.Text) && decimal.Parse(text.Text) != 0 && decimal.Parse(textLast.Text) != 0)
                    {
                        textFirst.Text = "合计:" + data.CmycurD(Sum);
                    }
                    else
                    {
                        textFirst.Text = "合计:";
                        textFirst.Foreground = new SolidColorBrush(Colors.Black);
                    }
                }
            }
        }

        private void textCol_LinkClick(object sender, EventArgs e)
        {
            ComboBoxLink link = (ComboBoxLink)sender;
            SelectAllSubject select = new SelectAllSubject(link);
            this.ShowMessageWindow(select, "科目", 500, 600);
        }

 

posted @ 2015-12-04 09:09  九省巡按  阅读(266)  评论(0编辑  收藏  举报